JSON.stringify 我们平时经常会用到 JSON 对象,比如当我们要实现对象的深拷贝时,我们可以用 JSON 对象的 JSON.stringify和 JSON.parse 来拷贝一个完全一样的对象,而不会对原对象产生任何引用关系。在使用 localStorage 时,也会用到它,因为 localStorage 只能存储字符串格式的内容,所以,我们在存之前,将数值转换成 JSON字符串,取出来用的时候,再转成对象或数组。
对于 JSON.stringify 方法,它可以帮我们把一个对象或数组转换成一个 JSON字符串。我们通常只会用到它的第一个参数,其实它还有另外两个参数,可以让它实现一些非常好用的功能。
首先来看语法:
JSON.stringify(value[, replacer [, space]])
使用函数过滤并序列化对象:
// 使用“函数”当替代器 function replacer(key, value) { if (typeof value === "string") { return undefined; } return value; }
var foo = { foundation: "Mozilla", model: "box", week: 45, transport: "car", month: 7 }; var jsonString = JSON.stringify(foo, replacer);
// {"week":45,"month":7}