JSON is a format for storing and transporting data.
JSON is often used when data is sent from a server to a web page.
What is JSON?
- JSON stands for JavaScript Object Notation
- JSON is a lightweight data interchange format
- JSON is language independent
- JSON is “self-describing” and easy to understand
Ex:
1 2 3 4 5 6 | { "type": "laptop", "brand": "Sony", "operating system": "Windows 7", "graphic card": "NVIDIA" } |
The JSON format is syntactically identical to the code for creating JavaScript objects:
- keys: type, brand, operating system, graphic card
- values: _laptop, Sony, Windows 7, NVIDIA
Because of this similarity, a JavaScript program can easily convert JSON data into native JavaScript objects.
JSON Syntax Rules
- 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, just like JavaScript object properties.
A name/value pair consists of a field name (in double quotes), followed by a colon, followed by a value:
1 | "firstName":"John" |
JSON Objects
JSON objects are written inside curly braces.
Just like in JavaScript, objects can contain multiple name/value pairs:
1 | {"firstName":"John", "lastName":"Doe"} |
JSON Arrays
JSON arrays are written inside square brackets.
Just like in JavaScript, an array can contain objects:
1 2 3 4 5 | "employees":[ {"firstName":"John", "lastName":"Doe"}, {"firstName":"Anna", "lastName":"Smith"}, {"firstName":"Peter", "lastName":"Jones"} ] |
In the example above, the object “employees” is an array. It contains three objects.
Each object is a record of a person (with a first name and a last name).
JSON – JavaScript
JavaScript provides us with two functions: JSON.stringify and JSON.parse:
- JSON.stringify is used to convert a JavaScript Object into a JSON string.
- JSON.parse is used to convert a string representing JSON into a JavaScript Object.
Ex:
1 2 3 4 5 6 7 8 9 | var string = JSON.stringify({name: "X", born: 1990}); console.log(string); // => {"name":"X","born":1990} var obj = JSON.parse(string); console.log(obj.name); // => X console.log(obj.born); // => 1990 |
That means if you want to edit JSON, you can convert it to Object to modify attributes and values. Then convert that JavaScript Object back into JSON.