JSON是一种数据交换格式
(1)语法
1.JSON是基于js的对象字面量中表示属性的语法,但是并不包含与js对象字面量的函数相关的部分
2.JSON的名称-值对中,名称始终用双引号包裹
3.JSON的名称-值对中,值可以是字符串,数字,布尔值,null,对象或者是数组
4.JSON中名称-值对列表被花括号包裹起来
5.在JSON中,多个名称-值对使用逗号分隔
6.JSON的媒类型是application/json
(2)JSON的数据类型
1.对象数据类型
2.字符串类型(JSON中的字符串可以由任何的Unicode字符组成)(其中的字符串的里面的可以有单引号,不要用双引号,如果非要用双引号的话,就通过反斜杠对字符串中的双引号进行转义来解决这个问题)
3.数字类型:整数,小数,负数,指数
4.布尔类型 (true和false,而且只能小写)
5.null类型(必须使用小写形式)
****1)注意不要将null和undefine搞混了。undefine在js中是在尝试获取一些不存在的对象或变量时返回的结果,null仅与对象或变量的值有关,其中null表示没有值的值
*** 2)JSON中没有undefine 6.数组类型(可以使用混合数据)
字符串,布尔值,对象,数组, 数字构成的数组
(3) JSON的Schema
为什么需要Schema
1.值的数据类型是否相同
2.是否包含所需要的数据
3.值的形式是不是我需要的
使用
1.在JSON第一个名称-值对中,声明其为一个schema文件
2.第二个名称-值对应该是JSON Schema文件的标题
3.第三个名称值对中,要定义需要在JSON中包含的属性
4.利用名称为“required”这个数组来表示其中的必填字段,如果没有require这个数组,表示空的JSON对象是合法的
5.可以在属性里面来指定范围,最大值,最小值
优点
JSON Schema是数据接收方的第一道防线,也是数据发送发节约时间,保证数据正确的好工具