文章目录
  1. 1. 1. 何为 JSON
  2. 2. 2. JSON 基本语法
  3. 3. 3. JSON值的类型
  4. 4. 4. 与XML比较
  5. 5. 5. 辅助工具

1. 何为 JSON

JSON( JavaScript Object Notation ),即 JavaScript 对象表示法。JSON 主要用于存储和交换文本信息,类似于XML。但是和 XML 相比,JSON 是更加轻量级的文本数据交换格式,具有更小、更快、更易解析的特点。JSON 具有自我描述性,更易理解。虽然 JSON 使用 JavaScript 语法来描述数据对象,但是,JSON 是独立于语言和平台的。JSON 解析器和 JSON 库支持许多不同的编程语言。

2. JSON 基本语法

JSON 语法是 JavaScript 对象表示法语法的子集。具体内容如下:

1
2
3
4
数据在key/value对中存储
数据由逗号分隔
花括号保存对象
方括号保存数据

3. JSON值的类型

JSON的数据都在key/value对中存储,其中,这个值,可选类型如下:

1
2
3
4
5
6
7
8
9
10
11
12

数字(整数或浮点数),例如:{ "number":12.34 }

字符串(在双引号中),例如:{ "name":"狗剩" }

逻辑值(true 或 false),例如:{ "isOpen":true }

数组(在中括号中),例如:{ "array":[1.2 , "3" , true , [4,5] , {"test":"ok"} , null] }

对象(在大括号中),例如:{ "person":{"name":"qiumengchen","isHandsome":true} }

null,例如:{ "blog":null }

总体来说,JSON的完整表现形式有两种:

JSON对象:以大括号({})为标志,对象可以包含多个key/value对,注意:对象中的每一项都必须是key/value对,不能是其他形式。但是,其中的key必须是字符串,其中的value可以是合法的JSON数据类型包括:数字、字符串、逻辑值、数组、对象、null等。例如:

1
{ "name":"狗剩" , "isHandsome":true , "blog":{"url":"qiumengchen.top","name":"myBlog"} }

JSON数组:以中括号([])为标志,数组可以包含多个value,value可以是合法的JSON数据类型包括:数字、字符串、逻辑值、数组、对象、null等。但是,一般来说,我们会保持数据中每个项的形式和意义的一致性,方便理解和运用。例如:

1
[ 99 , "qiumengchen" , true , [1,2,3] , {"name":"qiumengchen"} , null ]

4. 与XML比较

XML相同之处

1
2
3
4
5
JSON 是纯文本
JSON 具有”自我描述性”(人类可读)
JSON 具有层级结构(值中存在值)
JSON 可通过 JavaScript 进行解析
JSON 数据可使用 AJAX 进行传输

XML不同之处

1
2
3
4
5
6
没有结束标签
更短
读写的速度更快
能够使用内建的 JavaScript eval() 方法进行解析
使用数组
不使用保留字

5. 辅助工具

1
2
JSON在线解析工具(功能包括:JSON格式化、压缩、验证格式、JSON转XML、CSV、YAML),地址如下:[https://c.runoob.com/front-end/53](https://c.runoob.com/front-end/53)
Chrome浏览器插件:JSON-handle
文章目录
  1. 1. 1. 何为 JSON
  2. 2. 2. JSON 基本语法
  3. 3. 3. JSON值的类型
  4. 4. 4. 与XML比较
  5. 5. 5. 辅助工具