JSON Syntax

The JSON syntax is a subset of the JavaScript syntax.

JSON Syntax Rules

JSON syntax is derived from JavaScript object notation syntax:

  • Data is in name/value pairs
  • Data is separated by commas
  • Curly braces hold objects
  • Square brackets hold arrays

JSON Data - A Name and a Value

JSON data is written as name/value pairs.

A name/value pair consists of a field name (in double quotes), followed by a colon, followed by a value:


Note JSON names require double quotes. JavaScript names don't.

JSON Values

JSON values can be:

  • A number (integer or floating point)
  • A string (in double quotes)
  • A Boolean (true or false)
  • An array (in square brackets)
  • An object (in curly braces)
  • null

JSON Objects

JSON objects are written inside curly braces.

Just like JavaScript, JSON objects can contain multiple name/values pairs:


{"firstName":"John", "lastName":"Doe"}

JSON Arrays

JSON arrays are written inside square brackets.

Just like JavaScript, a JSON array can contain multiple objects:


    {"firstName":"John", "lastName":"Doe"},
    {"firstName":"Anna", "lastName":"Smith"},

In the example above, the object "employees" is an array containing three objects. Each object is a record of a person (with a first name and a last name).

JSON Uses JavaScript Syntax

Because JSON syntax is derived from JavaScript object notation, very little extra software is needed to work with JSON within JavaScript.

With JavaScript you can create an array of objects and assign data to it, like this:


var employees = [
    {"firstName":"John", "lastName":"Doe"},
    {"firstName":"Anna", "lastName":"Smith"},
    {"firstName":"Peter","lastName": "Jones"}

The first entry in the JavaScript object array can be accessed like this:


// returns John Doe
employees[0].firstName + " " + employees[0].lastName;
Try it yourself »

It can also be accessed like this:


// returns John Doe
employees[0]["firstName"] + " " + employees[0]["lastName"];
Try it yourself »

Data can be modified like this:


employees[0].firstName = "Gilbert";
Try it yourself »

It can also be modified like this:


employees[0]["firstName"] = "Gilbert";
Try it yourself »

In the next chapter you will learn how to convert a JSON text to a JavaScript object.

JSON Files

  • The file type for JSON files is ".json"
  • The MIME type for JSON text is "application/json"