工具函數(shù)JSON.stringify()在將JSON對(duì)象序列化為字符串時(shí)用到了toString蟀架,涉及到toString的相關(guān)規(guī)則页响,下面是firefox控制臺(tái)的一些運(yùn)行結(jié)果尼桶。
JSON.stringify()可以接收一個(gè)可選參數(shù)replacer堡妒,可以是數(shù)組或函數(shù)译株,用來(lái)指令序列化過(guò)程中哪些屬性被處理瓜喇,哪些屬性被排除。
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()還有一個(gè)可選參數(shù)space歉糜,用來(lái)指定輸出的縮進(jìn)格式乘寒。
var a = {
b: 42,
c: "42",
d: [1,2,3]
};
console.log(JSON.stringify(a, null, 3)); //3為每一級(jí)縮進(jìn)的字符數(shù)
//{
// "b": 42,
// "c": "42",
// "d": [
// 1,
// 2,
// 3
// ]
//}
console.log(JSON.stringify(a, null, "----")); //也可為用于縮進(jìn)的字符串
//{
//----"b": 42,
//----"c": "42",
//----"d": [
//--------1,
//--------2,
//--------3
//----]
//}