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字符串