JSON

json数据格式:

1,json全称JavaScript Object Notation。

2,通过键值对存储数据,也可通过数组的方式。

3,json不是JavaScript的子集

  -json可以包含U+2028和U+2029,js字符串不能。

json数据格式特点:

1,以{起始,}结束的键值对或数组。

2,双引号包裹键名。不可用单引号。

3,JSON字符串中不可添加注释。

反引号``:es6加入的字符串模板的工具,在里头不仅可以写上换行的字符串,还可以加上一些替换的变量。

JSON的优势:和xml的比较。

1,数据结构更加简化,不需要成对标记。

2,对象查找方式比dom结构化查找快速。

3,JSON中更丰富的数据类型。

js中如何使用json数据:

1,JSON数据本质上是一个字符串。

2,可以通过eval()、JSON.parse()等方式转化为对象。

3,注意使用try catch,避免数据的转化异常。

其他语言中如何使用JSON数据:

1,很多语言都内置 了JSON的包,模块,函数。

2,从数据库/缓存等数据源中取出JSON数据格式。

3,转化为可用的对象或直接使用。


①键与值都需要用引号括起来 "键"

②键值之间用冒号 "键":"值"

③键值对之间用逗号隔开"键":"值","键":"值"

值为字符串的时候带引号,其他时候可以不带。


JSON对象:

1,仅有两个方法parse()和stringify();

2,parse()和stringify()方法调用时注意try catch。

3,ie8支持,兼容性好。

JSON.parse();//并不是只有JSON数据格式才可以使用,只要是字符串都行。

1,将参数字符串转化为对象或值。

2,第二个参数接受一个解析函数。解析函数有两个参数,属性名,属性值

3,注意去除尾逗号。

eval();//运行语句,将语句作为js语句去执行。将字符串转换为对象或值,eval()参数中的js语句会被执行,而上面方法会报错不符合json语法,使用该方法时,需要在传入的参数字符串两端加上(),如:

var data = '{"student" : [{"name":"鸣人","age":17}, {"name":"小樱","age":17},{"name":"佐助","age":17}]}';
eval('(' + data + ')');

JSON.stringify();

1,将值或对象转化为JSON数据格式。

2,第二个参数接受一个替换函数。

3,第三个参数接受一个缩进格式。最多接收10个空格。


补充:

字符串必须使用双引号。

数值必须以十进制表示,且不能使用NaN和Infinity

JSON不支持JavaScript中的undefined

JSON即使JavaScript中的内置对象,只有两个方法,也是一种数据格式。

原文地址:https://www.cnblogs.com/zhonghonglin1997/p/10021254.html