source: trunk/docs/api/zoo-format-json.txt @ 175

Last change on this file since 175 was 175, checked in by jmckenna, 13 years ago

add missing function details

File size: 6.8 KB
RevLine 
[165]1.. _api-zoo-format-json:
2
3ZOO.Format.JSON
4===============
5
6A parser to read/write JSON safely.
7
8Properties     
9----------
10
11.. list-table::
12   :widths: 12 50
13   :header-rows: 1
14
15   * - NAME
16     - DESCRIPTION
17   * - :ref:`indent <indent>`
18     - {String} For "pretty" printing, the indent string will be used once for each indentation level.
19   * - :ref:`space <space>`
20     - {String} For "pretty" printing, the space string will be used after the ":" separating a name/value pair.
21   * - :ref:`newline <newline>`
22     - {String} For "pretty" printing, the newline string will be used at the end of each name/value pair or array item.
23   * - :ref:`level <level>`
24     - {Integer} For "pretty" printing, this is incremented/decremented during serialization. 
25   * - :ref:`pretty <pretty>`
26     - {Boolean} Serialize with extra whitespace for structure.   
27     
28Functions       
29---------
30
31.. list-table::
32   :widths: 14 50
33   :header-rows: 1
34
35   * - NAME
36     - DESCRIPTION
37   * - :ref:`ZOO.Format.JSON <ZOO.Format.JSON>`
38     - Create a new parser for JSON.
39   * - :ref:`read <read>`
40     - Deserialize a json string.
41   * - :ref:`write <write>`
42     - Serialize an object into a JSON string.
43   * - :ref:`writeIndent <writeIndent>`
44     - Output an indentation string depending on the indentation level. 
45   * - :ref:`writeNewline <writeNewline>`
46     - Output a string representing a newline if in pretty printing mode.   
47   * - :ref:`writeSpace <writeSpace>`
48     - Output a string representing a space if in pretty printing mode.
49     
50Serialize Properties   
51--------------------
52
53.. list-table::
54   :widths: 14 50
55   :header-rows: 1
56
57   * - NAME
58     - DESCRIPTION
59   * - :ref:`serialize <serialize>`
60     - Object with properties corresponding to the serializable data types.
61     
62Serialize Functions     
63-------------------
64
65.. list-table::
66   :widths: 14 50
67   :header-rows: 1
68
69   * - NAME
70     - DESCRIPTION
71   * - :ref:`serialize.object <serialize.object>`
72     - Transform an object into a JSON string.
73   * - :ref:`serialize.array <serialize.array>`
74     - Transform an array into a JSON string.
75   * - :ref:`serialize.string <serialize.string>`
76     - Transform a string into a JSON string.
77   * - :ref:`serialize.number <serialize.number>`
78     - Transform a number into a JSON string. 
79   * - :ref:`serialize.boolean <serialize.boolean>`
80     - Transform a boolean into a JSON string.   
81   * - :ref:`serialize.date <serialize.date>`
82     - Transform a date into a JSON string.     
83       
84**Properties**
85
86.. _indent:   
87
88indent 
[175]89  ``{String}`` For "pretty" printing, the indent string will be used once for each indentation level.
[165]90 
91.. _space:     
92 
93space   
[175]94  ``{String}`` For "pretty" printing, the space string will be used after the ":" separating a name/value pair.
[165]95 
96.. _newline:       
97 
98newline
[175]99  ``{String}`` For "pretty" printing, the newline string will be used at the end of each name/value pair or array item.
[165]100 
101.. _level:       
102 
103level   
[175]104  ``{Integer}`` For "pretty" printing, this is incremented/decremented during serialization.
[165]105 
106.. _pretty:         
107 
108pretty 
[175]109  ``{Boolean}`` Serialize with extra whitespace for structure. This is set by the :ref:`write <write>` method.
[165]110 
111**Functions**
112
113.. _ZOO.Format.JSON:         
114
115ZOO.Format.JSON
116  Create a new parser for JSON.
[175]117
118  *Parameters*
[165]119 
[175]120  ``options {Object}`` An optional object whose properties will be set on this instance.
121 
[165]122.. _read:           
123 
124read   
[175]125  ::
126 
127    read: function(json,filter)
128
[165]129  Deserialize a json string.
[175]130
131  *Parameters*
[165]132 
[175]133  | ``json {String}`` A JSON string
134  | ``filter {Function}`` A function which will be called for every key and value at every level of the final result.  Each value will be replaced by the result of the filter function.  This can be used to reform generic objects into instances of classes, or to transform date strings into Date objects.
135
136  *Returns*
137
138  ``{Object}`` An object, array, string, or number.
139 
[165]140.. _write:             
141 
142write   
[175]143  ::
144 
145    write: function(value,pretty)
146
[165]147  Serialize an object into a JSON string.
[175]148
149  *Parameters*
[165]150 
[175]151  | ``value {String}`` The object, array, string, number, boolean or date to be serialized.
152  | ``pretty {Boolean}`` Structure the output with newlines and indentation.  Default is false.
153
154  *Returns*
155
156  ``{String}`` The JSON string representation of the input value. 
157 
[165]158.. _writeIndent:               
159 
160writeIndent     
[175]161  ::
162 
163    writeIndent: function()
164
[165]165  Output an indentation string depending on the indentation level.
166 
[175]167  *Returns*
168
169  ``{String}`` An appropriate indentation string.
170 
[165]171.. _writeNewline:               
172 
173writeNewline   
[175]174  ::
175 
176    writeNewline: function()
177
[165]178  Output a string representing a newline if in pretty printing mode.
179 
[175]180  *Returns*
181
182  ``{String}`` A string representing a new line.
183 
[165]184.. _writeSpace:               
185 
186writeSpace     
[175]187  ::
[165]188 
[175]189    writeSpace: function()
190
191  Output a string representing a space if in pretty printing mode. 
192
193  *Returns*
194
195  ``{String}`` A space.
196 
[165]197**Serialize Properties**
198
199.. _serialize:               
200
201serialize       
[175]202  Object with properties corresponding to the serializable data types. Property
203  values are functions that do the actual serializing.
[165]204 
205**Serialize Functions**
206
207.. _serialize.object:               
208
209serialize.object       
210  Transform an object into a JSON string.
[175]211
212  *Parameters*
213
214  ``object {Object}`` The object to be serialized.
[165]215 
[175]216  *Returns*
217
218  ``{String}`` A JSON string representing the object.
219 
[165]220.. _serialize.array:                 
221 
222serialize.array
223  Transform an array into a JSON string.
[175]224
225  *Parameters*
[165]226 
[175]227  ``array {Array}`` The array to be serialized
228
229  *Returns*
230
231  ``{String}`` A JSON string representing the array.
232 
[165]233.. _serialize.string:                   
234 
235serialize.string       
236  Transform a string into a JSON string.
[175]237
238  *Parameters*
[165]239 
[175]240  ``string {String}`` The string to be serialized
241
242  *Returns*
243
244  ``{String}`` A JSON string representing the string.
245 
[165]246.. _serialize.number:                     
247 
248serialize.number       
249  Transform a number into a JSON string.
[175]250
251  *Parameters*
[165]252 
[175]253  ``number {Number}`` The number to be serialized.
254 
255  *Returns*
256
257  ``{String}`` A JSON string representing the number. 
258 
[165]259.. _serialize.boolean:                       
260 
261serialize.boolean       
262  Transform a boolean into a JSON string.
[175]263
264  *Parameters*
[165]265 
[175]266  ``bool {Boolean}`` The boolean to be serialized.
267
268  *Returns*
269
270  ``{String}`` A JSON string representing the boolean.
271 
[165]272.. _serialize.date:                         
273 
274serialize.date 
[175]275  Transform a date into a JSON string.
276
277  *Parameters*
278 
279  ``date {Date}`` The date to be serialized.
280
281  *Returns*
282
283  ``{String}`` A JSON string representing the date.
Note: See TracBrowser for help on using the repository browser.

Search

ZOO Sponsors

http://www.zoo-project.org/trac/chrome/site/img/geolabs-logo.pnghttp://www.zoo-project.org/trac/chrome/site/img/neogeo-logo.png http://www.zoo-project.org/trac/chrome/site/img/apptech-logo.png http://www.zoo-project.org/trac/chrome/site/img/3liz-logo.png http://www.zoo-project.org/trac/chrome/site/img/gateway-logo.png

Become a sponsor !

Knowledge partners

http://www.zoo-project.org/trac/chrome/site/img/ocu-logo.png http://www.zoo-project.org/trac/chrome/site/img/gucas-logo.png http://www.zoo-project.org/trac/chrome/site/img/polimi-logo.png http://www.zoo-project.org/trac/chrome/site/img/fem-logo.png http://www.zoo-project.org/trac/chrome/site/img/supsi-logo.png http://www.zoo-project.org/trac/chrome/site/img/cumtb-logo.png

Become a knowledge partner

Related links

http://zoo-project.org/img/ogclogo.png http://zoo-project.org/img/osgeologo.png