JSON對象是名稱/值(name:value)數(shù)據(jù)格式,通常以大括號顯示。
JSON對象如下所示:
{ "name": "Seagull", "age" : 22, "city": "New Delhi", }
使用JSON時(shí),您可能會在.json文件中看到JSON對象,但它們也可以作為JSON對象或字符串存在于程序上下文中。
JSON語法基本上被視為JavaScript語法的子集,它包括以下內(nèi)容:
數(shù)據(jù)以名稱/值對的形式表示
數(shù)據(jù)用逗號分隔
花括號支撐物體
方括號可容納數(shù)組
JSON建立在兩種結(jié)構(gòu)上:
名稱/值對(對象)的集合
值的有序列表(數(shù)組)
JSON數(shù)據(jù)以名稱/值對的形式表示。
名稱/值對由一個(gè)字段名(雙引號),一個(gè)冒號,一個(gè)值組成:
"name":"Seagull"
JSON名稱需要雙引號。JavaScript名稱沒有。
JSON格式幾乎與JavaScript對象相同。
在JSON中,鍵必須是字符串,并用雙引號引起來:
{ "name":"Seagull" }
在JavaScript中,鍵可以是字符串,數(shù)字或標(biāo)識符名稱:
{ name:"Seagull" }
在JSON中,字符串值必須用雙引號引起來:
{ "name":"Seagull" }
在JavaScript中,您可以編寫帶雙引號或單引號的字符串值:
{ name:'Seagull'}
JSON和XML均可用于從Web服務(wù)器接收數(shù)據(jù)。
以下JSON和XML示例都定義了一個(gè)book對象,該對象包含3本書的數(shù)組:
{"books":[ { "author":"Bella", "title":"XML Developer's Guide" }, { "author":"Kim", "title":"Midnight Rain" }, { "author":"Cynthia", "title":"Lover Birds" } ]}
<books> <book> <author>Bella</author> <title>XML Developer's Guide</title> </book> <book> <author>Kim</author> <title>Midnight Rain</title> </book> <book> <author>Cynthia</author> <title>Lover Birds</title> </book> </books>
從以上示例中,您可以看到:
JSON不使用結(jié)束標(biāo)記
JSON更短
JSON讀寫更快
JSON可以使用數(shù)組
最大的不同是:必須使用XML解析器解析XML。JSON可以通過標(biāo)準(zhǔn)JavaScript函數(shù)進(jìn)行解析。
JSON比XML更好:
XML比JSON解析困難得多
JSON被解析為現(xiàn)成的JavaScript對象