JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write and easy for machines to parse and generate. It is important to realize that, in JavaScript, JSON is a string and not an object.
A basic overview can be found on the json.org website which also contains links to implementations of the standard in many different programming languages.
The JSON utility methods were first standardized in ECMAScript 5.1 §15.12.
The format was formally defined in The application/json Media Type for JSON (RFC 4627 July 2006) which was later updated in The JSON Data Interchange Format (RFC 7158 March 2013, ECMA-404 October 2013 and RFC 7159 March 2014).
To make these methods available in old browsers such as Internet Explorer 8, use Douglas Crockford’s json2.js.
JSON versus JavaScript literals
Parsing with a reviver function
Serializing and restoring class instances