For up to date documentation and features, visit http://docs.sencha.com/ext-js/4-0

## Sencha Documentation

# Ext.data.writer.Json

####

    HierarchyExt.data.writer.WriterExt.data.writer.Json

Defined By

### Config Options

#### Other Configs

Ext.data.writer.Json
view source
allowSingle : Boolean
False to ensure that records are always wrapped in an array, even if there is only one record being sent. When there ...

False to ensure that records are always wrapped in an array, even if there is only one record being sent. When there is more than one record, they will always be encoded into an array. Defaults to `true`. Example:

    // with allowSingle: true
    "root": {
        "first": "Mark",
        "last": "Corrigan"
    }

    // with allowSingle: false
    "root": [{
        "first": "Mark",
        "last": "Corrigan"
    }]

Ext.data.writer.Json
view source
encode : Boolean
True to use Ext.encode() on the data before sending. Defaults to false. The encode option should only be set to true ...

True to use Ext.encode() on the data before sending. Defaults to `false`. The encode option should only be set to true when a root is defined, because the values will be sent as part of the request parameters as opposed to a raw post. The root will be the name of the parameter sent to the server.

Ext.data.writer.Writer
view source
nameProperty : String
This property is used to read the key for each value that will be sent to the server. For example: Ext.define('Perso...

This property is used to read the key for each value that will be sent to the server. For example:

    Ext.define('Person', {
        extend: 'Ext.data.Model',
        fields: [{
            name: 'first',
            mapping: 'firstName'
        }, {
            name: 'last',
            mapping: 'lastName'
        }, {
            name: 'age'
        }]
    });
    new Ext.data.writer.Writer({
        writeAllFields: true,
        nameProperty: 'mapping'
    });

    // This will be sent to the server
    {
        firstName: 'first name value',
        lastName: 'last name value',
        age: 1
    }

Defaults to `name`. If the value is not present, the field name will always be used.

Ext.data.writer.Json
view source
root : String
The key under which the records in this Writer will be placed. Defaults to undefined. Example generated request, usin...

The key under which the records in this Writer will be placed. Defaults to `undefined`. Example generated request, using root: 'records':

    {'records': [{name: 'my record'}, {name: 'another record'}]}

Ext.data.writer.Writer
view source
writeAllFields : Boolean
True to write all fields from the record to the server. If set to false it will only send the fields that were modifi...

True to write all fields from the record to the server. If set to false it will only send the fields that were modified. Defaults to `true`. Note that any fields that have Ext.data.Field.persist set to false will still be ignored.

Defined By

### Methods

Ext.data.writer.Writer
view source
Json( Object config) : void

### Parameters

- config : Object

  Optional config object

### Returns

- void

Ext.data.writer.Writer
view source
getRecordData( Object record) : Object
Formats the data for each record before sending it to the server. This method should be overridden to format the data...

Formats the data for each record before sending it to the server. This method should be overridden to format the data in a way that differs from the default.

### Parameters

- record : Object

  The record that we are writing to the server.

### Returns

- Object

  An object literal of name/value keys to be written to the server. By default this method returns the data property on the record.

Ext.data.writer.Writer
view source
write( Ext.data.Request request) : Ext.data.Request

Prepares a Proxy's Ext.data.Request object

Prepares a Proxy's Ext.data.Request object

### Parameters

- request : Ext.data.Request

  The request object

### Returns

- Ext.data.Request

  The modified request object