最新的Web开发教程
 

JSON教程

JSON:JavaScript对象符号。

JSON是用于存储和交换数据的语法。

JSON是XML更容易使用的替代品。


下面的JSON示例定义一个员工对象,以3员工记录的数组:

JSON实例

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

以下XML示例还限定一个员工3员工记录对象:

XML实例

<employees>
    <employee>
        <firstName>John</firstName> <lastName>Doe</lastName>
    </employee>
    <employee>
        <firstName>Anna</firstName> <lastName>Smith</lastName>
    </employee>
    <employee>
        <firstName>Peter</firstName> <lastName>Jones</lastName>
    </employee>
</employees>

什么是JSON?

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

* JSON使用JavaScript语法,但JSON格式不仅是文字,就像XML。
文本可以读取和用作以任何编程语言的数据格式。


JSON - 结果为JavaScript对象

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

由于这种相似性,而不是使用一个解析器(如XML一样),JavaScript程序可以使用标准的JavaScript函数来JSON数据转换为原生的JavaScript对象。


试一试

随着我们的编辑,您可以在线编辑JavaScript代码并点击一个按钮来查看结果:

JSON实例

<!DOCTYPE html>
<html>
<body>

<h2>JSON Object Creation in JavaScript</h2>

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

<script>
var text = '{"name":"John Johnson","street":"Oslo West 16","phone":"555 1234567"}';

var obj = JSON.parse(text);

document.getElementById("demo").innerHTML =
obj.name + "<br>" +
obj.street + "<br>" +
obj.phone;
</script>

</body>
</html>
试一试»

就像XML因为

  • 这两个JSON和XML是“自我描述”(人类可读)
  • 这两个JSON和XML(值中值)分级
  • 这两个JSON和XML可以对其进行解析,并通过大量的编程语言使用
  • 这两个JSON和XML可以用一个XMLHttpRequest可读取

不像很多XML因为

  • JSON不使用结束标记
  • JSON是短
  • JSON是更快地读取和写入
  • JSON可以使用数组

最大的区别是:

XML必须用XML解析器解析。 JSON可以通过标准JavaScript功能进行解析。


为什么JSON?

对于AJAX应用,JSON比XML更快,更容易:

使用XML

  • 取一个XML文档
  • 通过文档使用XML DOM循环
  • 提取值并存储在变量

使用JSON

  • 取一个JSON字符串
  • JSON.Parse JSON字符串