JSON和XML都是结构化的数据表示方式,但是JSON的获取会比xml的获简单。
JSON的语法可以表示三种类型的值:
1、简单值:在JSON中表示字符串、数值、布尔值
2、对象
3、数组
对象的表示
var box={name:"lee",age:100};
console.log(box.name);
json对象的表示
'{"name":"Lee"}';
但是一般都是使用比较复杂的json结构
{
{“title”:”a”,”num”:1},
{“title”:”a”,”num”:1},
{“title”:”a”,”num”:1}
}
解析和序列化json
将json字符串解析为json对象
var json='[{"name":"a"},{"num":1}]';
var obj=JSON.parse(json);
console.log(obj[0].name); //a
将json字符串转化为对象
将json对象序列化为json字符串
var obj=[{name:"a"},{num:1}];
console.log(JSON.stringify(obj)); //[{"name":"a"},{"num":1}] 会自动的加上""
为stringify()传递一个数组来过滤出来要显示
var obj=[{name:"a",num:1,height:177},{name:"b",num:2,height:188}];
console.log(JSON.stringify(obj,["num","height"])); //[{"num":1,"height":177},{"num":2,"height":188}]
为stringify()传递一个函数 来修饰序列化后的json
var obj=[{name:"a"},{name:"b"}];
console.log(JSON.stringify(obj,function (key,value) {
if(key=="name"){
return "姓名"+value;
}
else{
return value;
}
})); //[{"name":"姓名a"},{"name":"姓名b"}]
为stringify()传递一个数字 来修饰序列化后的格式
JSON.stringify(obj,null,4)