将对象序列化为Json => JSON.stringify()
将json序列化为对象 => JSON.parse()
一、声明
(1)对象
js定义对象
var person={ name:"Tom", age:29 };
json定义对象
1)无声明变量
2)无最后的逗号
{ "name":"Tom", "age":29 }
(2)数组
js
var value=[23,"hi",true];
json
1)无变量的声明
2)无结尾的逗号
{
{ "name":"Tom", "age":29, "school":["A","B"] } ,
{ "name":"Tom", "age":29, "school":["A","B"] }
}
二、解析和序列化
定义一个js对象
var person={ name:"Tom", age:20, school:["A","B"] }
js => json
var jsonText = JSON.stringify(person); => {"name":"Tom","age":"20","school":["A","B"]}
json => js
var text = JSON.parse(jsonText);
(1)JSON.stringify()
1)可以有两个参数:
第一个参数是过滤器
第二个参数可以是数组
var jsonText = JSON.stringify(book,["name","school"]); => {"name":"Tom","school":["A","B"]}
第二个参数可以是函数
var jsonTextF =JSON.stringify(person,function(key,value){ switch(key){ case "name": return "G" ; case "age": return undefined; default: return value; } })
第三个参数用于控制结果中的缩进和空白符
var jsonTextFF= JSON.stringify(person,null,4); 文件内容前面预留4个空格
第三个参数可以是字符串
var jsonTextFF= JSON.stringify(person,null,” - - “); 文件内容前面会有 --