JSON - Introduction
JSON: JavaScript Object Notation.
JSON is a syntax for storing and exchanging data.
JSON is text, written with JavaScript object notation.
Exchanging Data
When exchanging data between a browser and a server, the data can only be text.
JSON is text, and we can convert any JavaScript object into JSON, and send JSON to the server.
We can also convert any JSON received from the server into JavaScript objects.
This way we can work with the data as JavaScript objects, with no complicated parsing and translations.
Sending Data
If you have data stored in a JavaScript object, you can convert the object into JSON, and send it to a server:
Example
var myObj =
{ "name":"John",
"age":31, "city":"New York" };
var myJSON =
JSON.stringify(myObj);
window.location = "demo_json.php?x=" + myJSON;
Try it Yourself »
You will learn more about the JSON.stringify() function later in this tutorial.
Receiving Data
If you receive data in JSON format, you can convert it into a JavaScript object:
Example
var myJSON =
'{ "name":"John",
"age":31, "city":"New York" }';
var myObj =
JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;
Try it Yourself »
You will learn more about the JSON.parse() function later in this tutorial.
Storing Data
When storing data, the data has to be a certain format, and regardless of where you choose to store it, text is always one of the legal formats.
JSON makes it possible to store JavaScript objects as text.
Example
Storing data in local storage
//Storing data:
myObj =
{ "name":"John",
"age":31, "city":"New York" };
myJSON =
JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);
//Retrieving data:
text = localStorage.getItem("testJSON");
obj =
JSON.parse(text);
document.getElementById("demo").innerHTML = obj.name;
Try it Yourself »
What is JSON?
- JSON stands for JavaScript Object Notation
- JSON is a lightweight data-interchange format
- JSON is "self-describing" and easy to understand
- JSON is language independent *
*
JSON uses JavaScript syntax, but the JSON format is text only.
Text can be read and used as a data format by any programming
language.
The JSON format was originally specified by Douglas Crockford.
Why use JSON?
Since the JSON format is text only, it can easily be sent to and from a server, and used as a data format by any programming language.
JavaScript has a built in function to convert a string, written in JSON format, into native JavaScript objects:
JSON.parse()
So, if you receive data from a server, in JSON format, you can use it like any other JavaScript object.