Java Script Object Notation (JSON) is one of the most popular and commonly used way to represent information. This post explains simple & complex constructions of JSON message structures.
Let’s take an example of a Car. Information about a Car can be represented in Json format as follows:
var car = {
"name" : "Audi",
"model" : "2010",
"cost" : "30000"
};
Above representation is derived from Javascript. Here we have created a variable ‘car’ whose value is an object enclosed within curly braces. This object contains "name":"value" pairs, separated by comma.
To access the object property, we can simply use object.property notation:
car.name //produces "Audi" car.model //produces "2010"
Now the object can be complex. For instance, below is an example of nested objects
var car = {
"name" : "Audi",
"model" : "2010",
"cost" : "30000",
"engine": {
"type" : "diesel",
"power" : "88KW 2.0TDI"
}
};
To access the object properties:
car.name //produces "Audi" car.engine.type //produces "diesel"
JSON does support collection representations. For instance, below is an example of storing JSON in Arrays
var carFleet = [
{
"name" : "Audi",
"model" : "2010",
"cost" : "30000",
"engine": {
"type" : "diesel",
"power" : "88KW 2.0TDI"
}
},
{
"name" : "Jaguar",
"model" : "2012",
"cost" : "70000",
"engine": {
"type" : "diesel",
"power" : "140KW 3.0TDI"
}
}
];
In order to access the object properties, use [] (index starts with 0):
carFleet[0].name //produces "Audi" carFleet[1].engine.power //produces "140KW 3.0TDI"
Even more complex information can be represented using JSON:
var carFleet = [
{
"name": "Audi",
"model": "2010",
"cost": "30000",
"engine": {
"type": "diesel",
"power": "88KW 2.0TDI"
},
"colors": [
"Black",
"Red",
"White"
]
},
{
"name": "Jaguar",
"model": "2012",
"cost": "70000",
"engine": {
"type": "diesel",
"power": "140KW 3.0TDI"
},
"colors": [
"Gray",
"Black",
"White"
]
}
];
Again, we can access the individual value using object.property notation, in conjunction with [] for arrays.
carFleet[0].name //produces "Audi" carFleet[1].engine.power //produces "140KW 3.0TDI" carFleet[1].colors[2] //produces "White"
TIP:
You can validate the correctness of your JSON on http://jsonlint.com/
That’s it. In the next post we will learn about how to use JSON in your projects.
References
If you like tutorials on this site, why not take a step further and connect me on Facebook , Google Plus & Twitter as well? I would love to hear your thoughts on these articles, it will help improve further our learning process.