API Docs for: 3.18.1

JSON Class

Module: json-parse
Parent Module: json

The JSON module adds support for serializing JavaScript objects into JSON strings and parsing JavaScript objects from strings in JSON format.

The JSON namespace is added to your YUI instance including static methods Y.JSON.parse(..) and Y.JSON.stringify(..).

The functionality and method signatures follow the ECMAScript 5 specification. In browsers with native JSON support, the native implementation is used.

The json module is a rollup of json-parse and json-stringify.

As their names suggest, json-parse adds support for parsing JSON data (Y.JSON.parse) and json-stringify for serializing JavaScript data into JSON strings (Y.JSON.stringify). You may choose to include either of the submodules individually if you don't need the complementary functionality, or include the rollup for both.

Item Index

Methods

Properties

Methods

customTransport

(
  • id
)
static

Provided by the io module.

Defined in io/js/transports.js:56

Create a custom transport of type and return it's object

Parameters:

  • id String

    The id of the transport to create.

dateToString

(
  • d
)
String deprecated static

Provided by the json-stringify module.

Defined in json/js/stringify.js:13

Deprecated: Use a replacer function

Serializes a Date instance as a UTC date string. Used internally by stringify. Override this method if you need Dates serialized in a different format.

Parameters:

  • d Date

    The Date to serialize

Returns:

String:

stringified Date in UTC format YYYY-MM-DDTHH:mm:SSZ

defaultTransport

(
  • [id]
)
Object static

Provided by the io module.

Defined in io/js/transports.js:18

Parameters:

  • [id] String optional

    The transport to set as the default, if empty a new transport is created.

Returns:

Object:

The transport object with a send method

notify

(
  • event
  • transaction
  • config
)

Provided by the io module.

Defined in io/js/transports.js:71

Fired from the notify method of the transport which in turn fires the event on the IO object.

Parameters:

  • event String

    The name of the event

  • transaction Object

    The transaction object

  • config Object

    The configuration object for this transaction

parse

(
  • s
  • reviver
)
MIXED static

Parse a JSON string, returning the native JavaScript representation.

Parameters:

  • s String

    JSON string data

  • reviver Function

    (optional) function(k,v) passed each key value pair of object literals, allowing pruning or altering values

Returns:

MIXED:

the native JavaScript representation of the JSON string

stringify

(
  • o
  • w
  • ind
)
String static

Provided by the json-stringify module.

Defined in json/js/stringify.js:37

Converts an arbitrary value to a JSON string representation.

Objects with cyclical references will trigger an exception.

If a whitelist is provided, only matching object keys will be included. Alternately, a replacer function may be passed as the second parameter. This function is executed on every value in the input, and its return value will be used in place of the original value. This is useful to serialize specialized objects or class instances.

If a positive integer or non-empty string is passed as the third parameter, the output will be formatted with carriage returns and indentation for readability. If a String is passed (such as "\t") it will be used once for each indentation level. If a number is passed, that number of spaces will be used.

Parameters:

  • o MIXED

    any arbitrary value to convert to JSON string

  • w Array | Function

    (optional) whitelist of acceptable object keys to include, or a replacer function to modify the raw value before serialization

  • ind Number | String

    (optional) indentation character or depth of spaces to format the output.

Returns:

String:

JSON string representation of the input

Properties

_default

String static

Provided by the io module.

Defined in io/js/transports.js:11

The ID of the default IO transport, defaults to xhr

charCacheThreshold

Number static

Provided by the json-stringify module.

Defined in json/js/stringify.js:68

Number of occurrences of a special character within a single call to stringify that should trigger promotion of that character to a dedicated preprocess step for future calls. This is only used in environments that don't support native JSON, or when useNativeJSONStringify is set to false.

So, if set to 50 and an object is passed to stringify that includes strings containing the special character \x07 more than 50 times, subsequent calls to stringify will process object strings through a faster serialization path for \x07 before using the generic, slower, replacement process for all special characters.

To prime the preprocessor cache, set this value to 1, then call Y.JSON.stringify("(all special characters to cache)");, then return this setting to a more conservative value.

Special characters \ " \b \t \n \f \r are already cached.

Default: 100

transports

Object static

Provided by the io module.

Defined in io/js/transports.js:38

An object hash of custom transports available to IO