ZOO.Format.JSON

A parser to read/write JSON safely.

Inherits from

Properties

NAME DESCRIPTION
indent {String} For “pretty” printing, the indent string will be used once for each indentation level.
space {String} For “pretty” printing, the space string will be used after the ”:” separating a name/value pair.
newline {String} For “pretty” printing, the newline string will be used at the end of each name/value pair or array item.
level {Integer} For “pretty” printing, this is incremented/decremented during serialization.
pretty {Boolean} Serialize with extra whitespace for structure.

Functions

NAME DESCRIPTION
ZOO.Format.JSON Create a new parser for JSON.
read Deserialize a json string.
write Serialize an object into a JSON string.
writeIndent Output an indentation string depending on the indentation level.
writeNewline Output a string representing a newline if in pretty printing mode.
writeSpace Output a string representing a space if in pretty printing mode.

Serialize Properties

NAME DESCRIPTION
serialize Object with properties corresponding to the serializable data types.

Serialize Functions

NAME DESCRIPTION
serialize.object Transform an object into a JSON string.
serialize.array Transform an array into a JSON string.
serialize.string Transform a string into a JSON string.
serialize.number Transform a number into a JSON string.
serialize.boolean Transform a boolean into a JSON string.
serialize.date Transform a date into a JSON string.

Properties

indent
{String} For “pretty” printing, the indent string will be used once for each indentation level.
space
{String} For “pretty” printing, the space string will be used after the ”:” separating a name/value pair.
newline
{String} For “pretty” printing, the newline string will be used at the end of each name/value pair or array item.
level
{Integer} For “pretty” printing, this is incremented/decremented during serialization.
pretty
{Boolean} Serialize with extra whitespace for structure. This is set by the write method.

Functions

ZOO.Format.JSON

Create a new parser for JSON.

Parameters

options {Object} An optional object whose properties will be set on this instance.

read
read: function(json,filter)

Deserialize a json string.

Parameters

json {String} A JSON string
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.

Returns

{Object} An object, array, string, or number.

write
write: function(value,pretty)

Serialize an object into a JSON string.

Parameters

value {String} The object, array, string, number, boolean or date to be serialized.
pretty {Boolean} Structure the output with newlines and indentation. Default is false.

Returns

{String} The JSON string representation of the input value.

writeIndent
writeIndent: function()

Output an indentation string depending on the indentation level.

Returns

{String} An appropriate indentation string.

writeNewline
writeNewline: function()

Output a string representing a newline if in pretty printing mode.

Returns

{String} A string representing a new line.

writeSpace
writeSpace: function()

Output a string representing a space if in pretty printing mode.

Returns

{String} A space.

Serialize Properties

serialize
Object with properties corresponding to the serializable data types. Property values are functions that do the actual serializing.

Serialize Functions

serialize.object

Transform an object into a JSON string.

Parameters

object {Object} The object to be serialized.

Returns

{String} A JSON string representing the object.

serialize.array

Transform an array into a JSON string.

Parameters

array {Array} The array to be serialized

Returns

{String} A JSON string representing the array.

serialize.string

Transform a string into a JSON string.

Parameters

string {String} The string to be serialized

Returns

{String} A JSON string representing the string.

serialize.number

Transform a number into a JSON string.

Parameters

number {Number} The number to be serialized.

Returns

{String} A JSON string representing the number.

serialize.boolean

Transform a boolean into a JSON string.

Parameters

bool {Boolean} The boolean to be serialized.

Returns

{String} A JSON string representing the boolean.

serialize.date

Transform a date into a JSON string.

Parameters

date {Date} The date to be serialized.

Returns

{String} A JSON string representing the date.