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