JSON stands for JavaScript Object Notation. It uses JavaScript to represent structured data. JSON is a data format, not a programming language.
JSON syntax allows the representation of three types of values:
Value | Description |
---|---|
Simple Values | Strings, numbers, Booleans, and null can be represented in JSON using the same syntax as JavaScript. undefined is not supported. |
Objects | represent ordered key-value pairs. Each value may be a primitive type or a complex type. |
Arrays | represent an ordered list of values that are accessible by a numeric index. The values may be simple values, objects, and other arrays. |
There are no variables, functions, or object instances in JSON.
In its simplest form, JSON represents a small number of simple values. For example, the following is valid JSON:
5
The following is an valid JSON representing a string:
"Hello world"
JSON strings must use double quotes.
Object literals in JavaScript look like this:
var tutorial = { name: "JavaScript", page: 9 };
The JSON representation of this same object is:
{ "name": "JavaScript", "page": 9 }
There is no trailing semicolon. The quotes around the property name are required. The value can be any simple or complex value:
{ "name": "JavaScript", "page": 9, "topic": { "name": "Data Type", "content": "Number" } }
Arrays are represented in JSON using array literal notation from JavaScript. For example, this is an array in JavaScript:
var values = [1, "JavaScript", true];
You can represent this same array in JSON using a similar syntax:
[1, "JavaScript", true]
Arrays and objects can be used together to represent more complex collections of data, such as:
[ { "title": "JavaScript", "authors": ["J"], edition: 3, year: 2011 }, { "title": "HTML", "authors": [ "H" ], edition: 2, year: 2009 }, { "title": "Ajax", "authors": ["X", "Y", "Z" ], edition: 2, year: 2008 }, { "title": "CSS", "authors": ["A", "B", "C" ], edition: 1, year: 2007 }, { "title": "Java", "authors": ["C"], edition: 1, year: 2006 } ]