JSON对象是名称/值(name:value)数据格式,通常以大括号显示。
JSON对象如下所示:
{ "name": "Seagull", "age" : 22, "city": "New Delhi", }
使用JSON时,您可能会在.json文件中看到JSON对象,但它们也可以作为JSON对象或字符串存在于程序上下文中。
JSON语法规则
JSON语法基本上被视为JavaScript语法的子集,它包括以下内容:
数据以名称/值对的形式表示
数据用逗号分隔
花括号支撑物体
方括号可容纳数组
JSON结构
JSON建立在两种结构上:
名称/值对(对象)的集合
值的有序列表(数组)
JSON数据-名称/值对
JSON数据以名称/值对的形式表示。
名称/值对由一个字段名(双引号),一个冒号,一个值组成:
"name":"Seagull"
JSON名称需要双引号。JavaScript名称没有。
JSON-评估为JavaScript对象
JSON格式几乎与JavaScript对象相同。
在JSON中,键必须是字符串,并用双引号引起来:
{ "name":"Seagull" }
在JavaScript中,键可以是字符串,数字或标识符名称:
{ name:"Seagull" }
在JSON中,字符串值必须用双引号引起来:
{ "name":"Seagull" }
在JavaScript中,您可以编写带双引号或单引号的字符串值:
{ name:'Seagull'}
JSON与XML
JSON和XML均可用于从Web服务器接收数据。
以下JSON和XML示例都定义了一个book对象,该对象包含3本书的数组:
JSON示例:
{"books":[ { "author":"Bella", "title":"XML Developer's Guide" }, { "author":"Kim", "title":"Midnight Rain" }, { "author":"Cynthia", "title":"Lover Birds" } ]}
XML示例:
<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不使用结束标记
JSON更短
JSON读写更快
JSON可以使用数组
最大的不同是:必须使用XML解析器解析XML。JSON可以通过标准JavaScript函数进行解析。
JSON比XML更好:
XML比JSON解析困难得多
JSON被解析为现成的JavaScript对象