JSON: JavaScript
Object Notation
{"name": "value", "some": [1, 2, 3]}
The only syntax difference between JSON and the object literal is that
property names need to be wrapped in quotes to be valid JSON.
In object literals the quotes are required only when the property names are not
valid identifiers, for example, they have spaces {"first name": "Dave"}.
In JSON strings you cannot use functions or regular expression
literals.
Working with JSON
JSON.parse()
use the JSON.parse()method, which is part of the language since ES5 and is
natively provided by the JavaScript engines in modern browsers.
For older JavaScript engines, you can use the JSON.org library (http://www.json.org/json2.js)
to gain access to the JSON object and its methods.
// an input JSON stringvar jstr = ‘{"mykey": "my value"}‘;
// antipattern
var data = eval(‘(‘ + jstr + ‘)‘);
// preferred
var data = JSON.parse(jstr);
console.log(data.mykey); // "my value"
using YUI3
// an input JSON stringvar jstr = ‘{"mykey": "my value"}‘;
// parse the string and turn it into an object
// using a YUI instance
YUI().use(‘json-parse‘, function (Y) {
var data = Y.JSON.parse(jstr);
console.log(data.mykey); // "my value"
});
using JQuery
// an input JSON stringvar jstr = ‘{"mykey": "my value"}‘;
var data = jQuery.parseJSON(jstr);
console.log(data.mykey); // "my value"
JSON.stringify()
var dog = {name: "Fido",
dob: new Date(),
legs: [1, 2, 3, 4]
};
var jsonstr = JSON.stringify(dog);
// jsonstr is now:
// {"name":"Fido","dob":"2010-04-11T22:36:22.436Z","legs":[1,2,3,4]}
JavaScript Patterns 3.5 JSON