JSON.stringify()除了接受序列化js对象外,还可以接受另外的两个参数,这两个参数用于指定使用什么样的方式序列化js对象。
第一个参数是个过滤器,可以一个数组或者一个函数;第二个参数是一个选项,表示是否在JSON字符串中保留缩进。
实例1:对象序列化,使用数组作为过滤器
var book = {
title:"JavaScript Learn",
author:["wang","jie"],
edition:,
year:
}
var jsonText = JSON.stringify(book,["title","year"]); //对象序列化,使用数组作为过滤器 alert(jsonText);
实例2:对象序列化,使用函数作为过滤器
var book = {
title:"JavaScript Learn",
author:["wang","jie"],
edition:,
year:
}
var jsonText = JSON.stringify(book,function(key,value){
switch (key){
case "author":
return value.join(",");
case "year":
return ;
case "edition":
return undefined;
default :
return value;
}
}); //对象序列化,使用函数作为过滤器 alert(jsonText);
JSON.stringify()方法的第三个参数用于控制结果的缩进和空白符。
实例3:在每个级别缩进四个空白符。
var book = {
title:"JavaScript Learn",
author:["wang","jie"],
edition:3,
year:2015
} var jsonText = JSON.stringify(book,null,4) alert(jsonText);
实例4:插入" - -"
var book = {
title:"JavaScript Learn",
author:["wang","jie"],
edition:3,
year:2015
} var jsonText = JSON.stringify(book,null," - -") alert(jsonText);