工具函数JSON.stringify()在将JSON对象序列化为字符串时用到了toString,涉及到toString的相关规则,下面是firefox控制台的一些运行结果。
JSON.stringify()
JSON.stringify()可以接收一个可选参数replacer,可以是数组或函数,用来指令序列化过程中哪些属性被处理,哪些属性被排除。
var a = {
b: 42,
c: "42",
d: [1,2,3]
};
console.log(JSON.stringify(a, ["b", "c"])); //"{"b":42,"c":"42"}"
console.log(JSON.stringify(a, function(k,v){
if(k !== "c") return v;
})); //"{"b":42,"d":[1,2,3]}"
JSON.stringify()还有一个可选参数space,用来指定输出的缩进格式。
var a = {
b: 42,
c: "42",
d: [1,2,3]
};
console.log(JSON.stringify(a, null, 3)); //3为每一级缩进的字符数
//{
// "b": 42,
// "c": "42",
// "d": [
// 1,
// 2,
// 3
// ]
//}
console.log(JSON.stringify(a, null, "----")); //也可为用于缩进的字符串
//{
//----"b": 42,
//----"c": "42",
//----"d": [
//--------1,
//--------2,
//--------3
//----]
//}
网友评论