JSON(JavaScript对象表示法)是一种数据交换格式。
(其他例子:XML可扩展性标记语言)
字面量:对数据值的具体表示。
1.名称-值对
冒号分隔名称和值。
JSON名称需要双引号包裹,可在名称中使用单引号。
为了获得最大可移植性,应尽量避免使用空格或特殊字符。
值是字符串时,必须使用双引号包裹,其他数据类型不需要包裹。
花括号包裹多个名称和值(逗号分隔),构成对象。
JavaScript对象字面量不需要给键值对中的名称两边加上双引号,允许使用单引号代替双引号。
语法验证和一致性验证
2.媒体类型
别称:互联网媒体类型、内容类型、MIME类型
格式:类型/子类型 例:text/html
JSON的MIME类型application/json
JSON文件使用.json扩展名
3. 数据类型
-
原始数据类型(内置类型)
-
数字(整型/浮点数/定点数)
-
字符和字符串
-
布尔类型
-
复合数据类型(例:枚举数据类型,对象数据类型)
JSON中的数据类型
- 对象
嵌套对象
-
字符串
使用反斜杠\对字符串中的双引号进行转译。
需转译:
- /(正斜线)
- \b(退格符)
- \f(换页符)
- \t(制表符)
- \n(换行符)
- \r(回车符)
- \u(后面跟16进制字符)
-
数字
- 整数
- 小数
- 负数
- 指数
-
布尔值
- true--1
- false--0
-
null(小写)
undefined不是JSON中的数据类型
在JavaScript中,
undefined是在尝试获取一些不存在的对象或变量时返回的结果,
undefined与那些声明的名称和值都不存在的对象或变量有关,
而 null则仅与对象或变量的值有关,表示“没有值”的值。
-
数组
使用 var 声明的变量可以是数字、字符串、数组、null、以及对象中的任意一种类型。
数组中所有的值,应具有相同的数据类型。
- 字符串构成的数组
- 数字构成的数组
- 布尔值构成的数组
- 对象构成的数组
- 数组构成的数组
对象是名称-值对构成的列表或集合,数组是值构成的列表或集合。