JSON:JavaScript对象表示法(JavaScript Object Notation)
1.什么是JSON
- JSON指的是javascript对象表示法
- JSON是轻量级的文本数据交换格式
- JSON独立于语言
- JSON具有自我描述性,更易理解
2.JSON语法规则:
JSON语法是js对象表示法语法的子集。
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
看例一:
var jsonObject = {
"person":[
{"firstname":"liu","lastname":"bei"},
{"firstname":"zhang","lastname":"fei"},
{"firstname":"guan","lastname":"yu"}
],
"year":500,
"others":[
{"firstname":"zhuge","lastname":"liang"},
{"firstname":"yuan","lastname":"shao"}
]
}
我们可以使用js语法来访问它:
jsonObject.person[0].firstname //liu
jsonObject.person[0].firstname = 'hua'
jsonObject.person[0].firstname //hua
3.JSON字符串转化为json对象
我们先定义一个JSON字符串
var jsonTxt = `{"person":[
{"firstname":"liu","lastname":"bei"},
{"firstname":"zhang","lastname":"fei"},
{"firstname":"guan","lastname":"yu"}
]}`
解析:
我们可以使用eval()函数
和JSON.parse()方法
,两种方式来解析JSON字符串
eval('('+jsonTxt+')') //可以,不推荐
var obj = JSON.parse(jsJSON.stringify(jsonObject)onTxt) //可以推荐
obj.person[0].firstname //liu
4.JSON对象转化为json字符串
我们刚才在例一已经定义了一个JSON对象,使用JSON.stringify()
来解析
JSON.stringify(jsonObject) //可以解析成功,太长了就不写了
5.JSON VS javascript
对比:
1.JSON没有抄袭function 和undefined
2.JSON的字符串收尾必须是"
javscript | JSON |
---|---|
undefiend | 没有 |
null | null |
['a','b'] | ["a","b"] |
function fn(){} | 没有 |
{name:'hua'} | {"name":"hua"} |
'zhen' | "zhen" |
{_proto_} | 没有 |
网友评论