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对象