119 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			119 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
title: JSON Syntax
 | 
						|
---
 | 
						|
## JSON Syntax
 | 
						|
 | 
						|
The JSON syntax is a subset of the JavaScript syntax.
 | 
						|
 | 
						|
### JSON Syntax Rules
 | 
						|
 | 
						|
- JSON Object is an unordered set of name/value pairs.
 | 
						|
- Object names are followed by a colon (:).
 | 
						|
- Curly braces {} are used to hold objects. Object begins with { (left curly brace) and ends with } (right curly brace).
 | 
						|
- JSON Object data is represented as a collection of name/value pair.
 | 
						|
- Each name/value pairs are separated by comma (,)
 | 
						|
- Square braces [] are used to 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:
 | 
						|
 | 
						|
```
 | 
						|
"handle":"moghya"
 | 
						|
```
 | 
						|
- JSON names require double quotes.
 | 
						|
 | 
						|
### JSON - Evaluates to JavaScript Objects
 | 
						|
 | 
						|
The JSON format is almost identical to JavaScript objects. 
 | 
						|
 | 
						|
In JSON, keys must be strings, written with double quotes:
 | 
						|
 | 
						|
- JSON
 | 
						|
 | 
						|
```
 | 
						|
"handle":"moghya"
 | 
						|
```
 | 
						|
- JavaScript
 | 
						|
 | 
						|
```
 | 
						|
handle:"moghya"
 | 
						|
```
 | 
						|
 | 
						|
### JSON Values
 | 
						|
 | 
						|
In JSON, values must be one of the following data types:
 | 
						|
- a string
 | 
						|
- a number
 | 
						|
- an object (JSON object)
 | 
						|
- an array
 | 
						|
- a boolean
 | 
						|
- null
 | 
						|
 | 
						|
In JavaScript values can be all of the above, plus any other valid JavaScript expression, including:
 | 
						|
- a function
 | 
						|
- a date
 | 
						|
- undefined
 | 
						|
 | 
						|
 | 
						|
### 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 object and assign data to it, like this:
 | 
						|
 | 
						|
```
 | 
						|
var person = { 
 | 
						|
  "name":"Shubham",
 | 
						|
  "age":21, 
 | 
						|
  "handle":"moghya", 
 | 
						|
  "website":"http://moghya.me/"
 | 
						|
  };
 | 
						|
  
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
You can access a JavaScript object like this:
 | 
						|
 | 
						|
```
 | 
						|
//returns moghya
 | 
						|
person.handle;
 | 
						|
```
 | 
						|
 | 
						|
It can also be accessed like this:
 | 
						|
 | 
						|
```
 | 
						|
//returns http://moghya.me/
 | 
						|
person["website"];
 | 
						|
```
 | 
						|
 | 
						|
### Arrays in JSON 
 | 
						|
 | 
						|
```
 | 
						|
var team = {
 | 
						|
  "name":"novatoscript",
 | 
						|
  "members" : 
 | 
						|
  [
 | 
						|
    {
 | 
						|
      "name":"Shubham Sawant",
 | 
						|
      "age":21, 
 | 
						|
      "handle":"moghya", 
 | 
						|
      "website":"http://moghya.me",
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "name":"Saurabh Banore",
 | 
						|
      "age":21, 
 | 
						|
      "handle":"banoresaurabh", 
 | 
						|
      "website":"http://banoresaurabh.me/",
 | 
						|
    }
 | 
						|
  ]
 | 
						|
}
 | 
						|
 | 
						|
```
 | 
						|
 | 
						|
### Example 
 | 
						|
 | 
						|
A very large example of JSON is [here!](http://moghya.me/js/profile.json).
 |