com.smartgwt.client.util

## Class JSON

- java.lang.Object
- - com.smartgwt.client.util.JSON

-     public class JSON
      extends java.lang.Object

  Utilities for working with JSON data.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `JSON()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static com.google.gwt.core.client.JavaScriptObject` | `decode(java.lang.String jsonString)` De-serialize an object from JSON.
    `static java.lang.String` | `encode(com.google.gwt.core.client.JavaScriptObject object)` Serialize an object as a JSON string.
    `static java.lang.String` | `encode(com.google.gwt.core.client.JavaScriptObject object, JSONEncoder settings)` Serialize an object as a JSON string.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JSON

          public JSON()

  - ### Method Detail

    - #### encode

          public static java.lang.String encode(com.google.gwt.core.client.JavaScriptObject object)

      Serialize an object as a JSON string.

      Automatically handles circular references - see `circularReferenceMode`.

      Note that using the String produced by this API with `JSON.decode` will not successfully preserve dates. Use `JSONEncoder.setDateFormat` "dateConstructor" to have dates round-trip properly.

      Because GWT does not support Java reflection, JSON encoding cannot discover the properties of an arbitrary Java POJO. The following objects are supported:

      - any primitive type (String, Date, Number, Boolean)
      - any Map or Collection in any level of nesting
      - DataClass (Record's superclass) and RecordList
      - any widget (see +link{JSONEncoder.serializeInstances})
      - JavaScriptObject
      - an Array containing any of the above
      Parameters:
        `object` - object to serialize
      Returns:
        object encoded as a JSON String

    - #### encode

          public static java.lang.String encode(com.google.gwt.core.client.JavaScriptObject object,
                                                JSONEncoder settings)

      Serialize an object as a JSON string.

      Automatically handles circular references - see `circularReferenceMode`.

      Note that using the String produced by this API with `JSON.decode` will not successfully preserve dates. Use `JSONEncoder.setDateFormat` "dateConstructor" to have dates round-trip properly.

      Because GWT does not support Java reflection, JSON encoding cannot discover the properties of an arbitrary Java POJO. The following objects are supported:

      - any primitive type (String, Date, Number, Boolean)
      - any Map or Collection in any level of nesting
      - DataClass (Record's superclass) and RecordList
      - any widget (see +link{JSONEncoder.serializeInstances})
      - JavaScriptObject
      - an Array containing any of the above
      Parameters:
        `object` - object to serialize
        `settings` - optional settings for encoding
      Returns:
        object encoded as a JSON String

    - #### decode

          public static com.google.gwt.core.client.JavaScriptObject decode(java.lang.String jsonString)

      De-serialize an object from JSON. Currently, this is simply a JavaScript eval() and should be used for trusted data only.
      Parameters:
        `jsonString` - JSON data to be de-serialized
      Returns:
        object derived from JSON String