1.JSON中的两种数组结构:
- 对象结构:对象结构在JSON中表示为{ } 括起来的内容。数据结构为{ key: value, key: value, … } 的键值对结构。 其中,key必须是使用英文的双引号包裹的字符串,value的数据类型可以是数字、字符串、布尔值、null、数组、对象6种类型。
- 数组结构:数组结构在JSON中表示为[]括起来的内容。数据结构为[ “java”, “javascript”, 30, true …].数组中数据的类型可以是数字、字符串、布尔值、null、 数组、对象6种类型。
2.JSON语法注意事项:
- 属性名必须使用双引号包裹
- 字符串类型的值必须使用双引号包裹
- JSON 中不允许使用单引号表示字符串
- JSON 中不能写注释
- JSON 的最外层必须是对象或数组格式
- 不能使用undefined或函数作为JSON的值
JSON的作用:在计算机与网络之间存储和传输数据。
3.JSON和js对象的关系
- JSON是JS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质是一个字符串。 例如:
这是一个对象
var obj = {a:'Hello', b: ' World' }
这是一个JSON字符串,本质是一个字符串var json = '{"a": "Hello", "b": "World"}'
4.JSON和js的对象之间的相互转化
- 要实现从JSON字符串转换为JS对象,使用JSON.parse()方法:
var obj = JSON.parse(' {"a": "Hello", "b": "World"} ')
结果是
{a: 'Hello', b: 'World'}
- 要实现从JS对象转换为JSON字符串,使用
JSON.stringify()
方法:var json = JSON. stringify({a 'Hello', b: 'World'})
结果是
' {"a": "Hello", "b": "World"} '
5.JSON的反序列与反序列化
- 把数据对象转换为字符串的过程,叫做序列化,例如:调用JSON.stringify0 函数的操作,叫做JSON序列化。
- 把字符串转换为数据对象的过程,叫做反序列化,例如:调用JSON.parse0函数的操作,叫做JSON反序列化。