-
一个参数
JSON.stringify({}); // '{}'
JSON.stringify(true); // 'true'
JSON.stringify("foo"); // '"foo"'
JSON.stringify([1, "false", false]); // '[1,"false",false]'
JSON.stringify({ x: 5 }); // '{"x":5}'
-
两个参数 - replacer
// 第二个参数是一个过滤函数的情况
function repalcer(key, value) {
if (typeof value === 'string') {
return undefined;
}
return value;
}
const foo = {
foundation: 'Mozilla',
model: 'box',
week: 45,
transport: 'car',
month: 7
}
const jsonString = JSON.stringify(foo, replacer);
JSON序列化结果为 { "week": 45, "month": 7 }
// 第二个参数是数组
const data = {
name: 'niuzai',
info: {
age: 18,
sex: 'male'
}
}
JSON.stringify(data, ['name', 'info']) // { "name": "niuzai", "info": {} }
JSON.stringify(data, ['name', 'sex']) // { "name": "niuzai" }
// { "name": "niuzai", "info": {"age": 18} }
JSON.stringify(data, ['name', 'info', 'age'])