JSON 的简介与使用
一、什么是JSON?
JSON(javascript object notation)全称是 javascript 对象表示法,是一种数据交换的文本格式,用于读取结构化数据,提出目的是取代繁琐笨重的 XML 格式。
二、JSON的语法规则
JSON的语法可以表示以下三种类型的值:
1、简单值
简单值使用与 JavaScript 相同的语法,可以在JSON中表示字符串、数值、布尔值和null。
字符串必须使用双引号表示,不能使用单引号,数值必须以十进制表示,且不能使用 NaN 和 Infinity。
(说明:JSON 不支持 JavaScript 中的特殊值 undefined )
2、对象
对象作为一种复杂数据类型,表示的是一组有序的键值对,而每个键值对中的值可以是简单值,也可以是复杂数据类型的值。
JSON 中对象的键名必须放在双引号里面,因为 JSON 不是 javascript 语句, 所以没有末尾的分号。
(说明:同一个对象中不应该出现两个同名属性)
3、数组
数组也是一种复杂数据类型,表示一组有序的值的列表,可以通过数值索引来访问其中的值
(说明:数组或对象最后一个成员的后面,不能加逗号)
三、关于 JSON 对象
JSON 对象的两个方法:
1、stringify()
- 语法:JSON.stringify()
- 功能:用于将一个值转为字符串,该字符串应该符合 JSON 格式,并且可以被 JSON.parse() 方法还原
2、parse()
- 语法:JSON.parse()
- 功能:用于将JSON字符串转化成对象
3、总结:
-
JSON 之所以流行,是因为可以把 JSON 数据结构解析为有用的 javascript 对象
-
JSON 对象的 stringify() 和 parse() 这两个方法可以分别用于把 JavaScript 对象序列化为 JSON 字符串和把 JSON 字符串解析为原生 JavaScript 值
-
JavaScript 的 eval() 类似于 JSON.parse() 方法,可以将 json 字符串转换为 json 对象,但是 eval() 可以执行不符合 JSON 格式的代码,有可能会包含恶意代码,所以尽量少用