最新的Web开发教程
 

JavaScript JSON


JSON是用于存储和传输数据的格式。

当数据从一个服务器发送到网页的JSON经常被使用。


什么是JSON?

  • JSON代表JavaScript对象符号
  • JSON是轻量级的数据交换格式
  • JSON是独立的语言*
  • JSON是“自我描述”,容易理解

*该JSON语法是由JavaScript对象符号语法派生,但JSON格式只是文本内容。 读取以及生成JSON数据的代码可以写在任何编程语言。


JSON实例

这JSON语法定义了一个对象的员工:3员工记录(对象)数组:

JSON实例

{
"employees":[
    {"firstName":"John", "lastName":"Doe"},
    {"firstName":"Anna", "lastName":"Smith"},
    {"firstName":"Peter", "lastName":"Jones"}
]
}

JSON格式结果为JavaScript对象

JSON格式在语法上是相同的代码创建JavaScript对象。

由于这种相似性,一个JavaScript程序可以JSON数据很容易地转换成原生的JavaScript对象。


JSON语法规则

  • 数据以名称/值对
  • 数据由逗号分隔
  • 大括号持有的对象
  • 方括号持有数组

JSON数据 - 一个名字和一个值

JSON数据被写入作为名称/值对,就像JavaScript对象的属性。

一个名称/值对由字段名称(在双引号),后跟一个冒号,然后是值的:

"firstName":"John"

JSON名称使用双引号。 JavaScript的名字没有。


JSON对象

JSON对象写入花括号内。

就像在JavaScript中,对象可以包含多个名称/值对:

{"firstName":"John", "lastName":"Doe"}

JSON阵列

JSON阵列都写在方括号内。

就像在JavaScript中,数组可以包含对象:

"employees":[
    {"firstName":"John", "lastName":"Doe"},
    {"firstName":"Anna", "lastName":"Smith"},
    {"firstName":"Peter", "lastName":"Jones"}
]

在上面的例子中,对象"employees"是一个数组。 它包含三个对象。

每个对象是一个人的记录(具有第一名字和姓氏)。


转换一个JSON文本为JavaScript对象

JSON的一个常见的用途是在网页中从Web服务器读取数据,并显示数据。

为简单起见,这可以用一个字符串作为输入(或阅读我们展示了JSON教程 ):

首先,创建一个包含JSON语法的一个JavaScript字符串:

var text = '{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';

然后,使用JavaScript的内置函数JSON.parse()将字符串转换成JavaScript对象:

var obj = JSON.parse(text);

最后,使用新的JavaScript对象在你的页面:

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
obj.employees[1].firstName + " " + obj.employees[1].lastName;
</script>
试一试»

您可以在我们阅读更多关于JSON JSON教程