初始JSON
JSON =》JavaScript对象
- JSON文本格式在语法与创建JavaScript对象的代码相同
- 可以直接用JavaScript内建的eval()函数将JSON数据生成原生的Java对象
JSON语法规则
-
数据在名称:值对中 -
数据用逗号隔开 -
大括号{ }保存对象 -
中括号[ ]保存数组,数组中包含多个对象 举例: var j1 = {
"id": 123,
"username": '李明',
"age": 22,
"flag":true,
"score":null,
"contact": {
"phone": 1234556,
"QQ": "2734734"
},
"address": ["java", "js", "oracle"]
}
JSON数据访问
有两种方式可以做访问JSON对象中的数据
-
方式1:用对象.属性,如: var json={"name":"liming","num":123}
当要访问name属性,可以直接json.name获取 -
方式2:用索引的访问值,如 当要获取上面的name的属性值,可以 json[0] 或者 json[“name”]获取
JSON.parse()
JOSN通常用于与服务端交换数据,而接收服务端的数据时一般都是字符串,这时候我们可以使用JSON.prase()方法将数据转换为 JavaScript对象。
语法:JSON.parse(text[,reviver]),其中参数text是必须,其为一个有效的JSON字符串,参数reviver可选,一个转换结果的函数,将为对象的每个成员调用此函数。
JSON.stringify()
该函数可以JavaScript对象转换为字符串
语法:JSON.stringify(value[,replacer[,space]]), 其中参数value是必需的,是需要转换的JavaScript值,其通常是对象或者数组。 参数replacer是可选的,用于将转换结果的函数或者数组,
- 如果replacer为函数,则JSON.stringify将调用该函数,并传入每个成员的键和值,使用的是返回值而不是原始值,如果此函数返回undefined,将排除成员,根对象的键时一个空字符串。
- 如果replacer是一个数组,则仅转换该数组中具有键值的成员,成员的转换顺序与键在数组中的顺序一样。当value参数也为数组时,将忽略replacer数组。
参数space是可选的,用于文本添加缩进,空格或者换行符,如果space是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 space 大于 10,则文本缩进 10 个空格。space 也可以使用非数字,如:\t。
|