作者:Milo Yip
1、 JSON 是什么
JSON(JavaScript Object Notation)是一个用于数据交换的文本格式,现时的标准为ECMA-404。
虽然 JSON 源至于 JavaScript 语言,但它只是一种数据格式,可用于任何编程语言。现时具类似功能的格式有 XML、YAML,当中以 JSON 的语法最为简单。
2、JSON 与 XML 相同之处
JSON 是纯文本
JSON 具有"自我描述性"(人类可读)
JSON 具有层级结构(值中存在值)
JSON 可通过 JavaScript 进行解析
JSON 数据可使用 AJAX 进行传输
3、JSON 与 XML 不同之处
没有结束标签
更短
读写的速度更快
能够使用内建的 JavaScript eval() 方法进行解析
使用数组
不使用保留字
4、为什么使用 JSON?
对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用:
使用
读取 XML 文档
使用 XML DOM 来循环遍历文档
读取值并存储在变量中
使用
读取 JSON 字符串
用 eval() 处理 JSON 字符串
例如,一个动态网页想从服务器获得数据时,服务器从数据库查找数据,然后把数据转换成 JSON 文本格式:
{
"title": "Design Patterns",
"subtitle": "Elements of Reusable Object-Oriented Software",
"author": [
"Erich Gamma",
"Richard Helm",
"Ralph Johnson",
"John Vlissides"
],
"year": 2009,
"weight": 1.8,
"hardcover": true,
"publisher": {
"Company": "Pearson Education",
"Country": "India"
},
"website": null}
网页的脚本代码就可以把此 JSON 文本解析为内部的数据结构去使用。
从此例子可看出,JSON 是树状结构,而 JSON 只包含 6 种数据类型:
· null: 表示为 null
· boolean: 表示为 true 或 false
· number: 一般的浮点数表示方式,在下一单元详细说明
· string: 表示为 "..."
· array: 表示为 [ ... ]
· object: 表示为 { ... }
我们要实现的 JSON 库,主要是完成 3 个需求:
1. 把 JSON 文本解析为一个树状数据结构(parse)。
2. 提供接口访问该数据结构(access)。
3. 把数据结构转换成 JSON 文本(stringify)。
下文解析JSON API使用。
标签:XML,数据结构,JavaScript,学习,JSON,使用,解析 From: https://blog.51cto.com/u_6958388/5922945