JSON
The JSON object is new to ES5. It's not a constructor (similarly to Math) and has only two methods: parse() and stringify(). For ES3 browsers that don't support JSON natively, you can use the "shim" from http://json.org.
JSON stands for JavaScript Object Notation. It's a lightweight data interchange format. It's a subset of JavaScript that only supports primitives, object literals, and array literals.
Members of the JSON object
Following are the members of the JSON object:
| 
 Method  | 
 Description  | 
| 
 
  | 
 Takes a JSON-encoded string and returns an object:     > var data = '{"hello":   1, "hi": [1, 2, 3]}';   
    > var o = JSON.parse(data);   
    > o.hello;   
    1   
    > o.hi;   
    [1, 2, 3]   
 The optional callback lets you provide your own function that can inspect and modify the result. The callback takes  
     > function callback(key, value)   {   
        console.log(key, value);   
        if (key === 'hello') {   
          return 'bonjour';   
        }   
        if (key === 'hi') {   
          return undefined;   
        }   
        return value;   
      }   
   
    > var o = JSON.parse(data, callback);   
    hello 1   
    0 1   
    1 2   
    2 3   
    hi [1, 2, 3]   
    Object {hello: "bonjour"}   
    > o.hello;   
    "bonjour"   
    > 'hi' in o;   
    false   
  | 
| 
 
  | 
 Takes any value (most commonly an object or an array) and encodes it to a JSON string.     > var o = {   
    hello: 1,    
    hi: 2,    
    when: new Date(2015, 0, 1)   
   };   
   
    > JSON.stringify(o);   
   "{"hello":1,"hi":2,"when":
    "2015-01-01T08:00:00.000Z"}"   
 The second parameter lets you provide a callback (or a whitelist array) to customize the return value. The whitelist contains the keys you're interested in: 
     JSON.stringify(o, ['hello', 'hi']);   
    "{"hello":1,"hi":2}"   
 The last parameter helps you get a human-readable version. You specify the number of spaces as a string or a number: 
     > JSON.stringify(o, null, 4);   
    "{   
    "hello": 1,   
    "hi": 2,   
    "when": "2015-01-01T08:00:00.000Z"   
    }"   
  |