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).
							 |