Chapter 21. Working with JSON

The other really popular interchange format for Ajax is JSON (pronounced "Jason") or JavaScript Object Notation. Compared to XML, it's a more lightweight and human-readable format and is in general a more natural fit with JavaScript applications, although it's perhaps more alien than XML outside the world of JavaScript. The format was formally described by Douglas Crockford of Yahoo! in the Network Working Group Request for Comments #4627, and he also maintains the popular web site, a hub for resources and information about the format. The RFC defines the official file extension for a JSON document as .json and the official mime type as application/json.

Although JSON is considered a language-independent data format, it's actually just as true to say that it's a subset of the JavaScript language. JSON was not defined and then adopted by JavaScript; it was discovered as a way to use JavaScript for the purpose of data transfer that happens to be useful in many other languages as well.

Object literals form the basis of JSON. Already in this book you've seen many examples of JavaScript object literals for arrays, strings, and numbers, such as the ones in the snippet that follows:

var anArray = ["hello", "world"];    // Array
var aString = "hello world";    // String
var aNumber = 3.14159;    // Number
var anObject = {};    // Object
var aBoolean = true;    // Boolean
var aRegExp = /hello/gi;    // Regular Expression

JSON builds on the concept of object literals to support ...

Get JavaScript® Programmer's Reference now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.