本文摘自PHP中文网,作者青灯夜游,侵删。
JS 中有许多常见的函数,我们可能每天都在使用它们,但是却不知道它们的一些额外功能。JSON.stringify
就是这样的一个函数,今天就来看下它的特殊用法。基础
JSON.stringify
方法接收一个变量,并将它转换成 JSON 表示形式。
1 2 3 4 5 6 7 |
|
JSON 就是纯字符串,它本质上是 JS 的一个子集,所以并不是所有的 JS 对象都能转换为 JSON:
1 2 3 4 5 6 7 8 |
|
上面的例子中 Map 对象就会被忽略并转换为普通对象。而如果属性是函数的话则这个属性就会被忽略,感兴趣的同学可以试下。
第二个参数
JSON.stringify
可以接收第二个参数,可以称为 replacer
替换器。
你可以传入一个字符串数组,这个数组中具有的属性才会被转换,就像一个白名单。
1 2 3 4 5 6 7 |
|
我们可以利用这个特性,只转换需要转换的属性,过滤掉如很长的数组、错误对象等。
这个 replacer
参数还可以接收一个函数。这个函数会遍历整个对象,并将键和值传入,让你决定该如何替换它们。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
而如果你返回了 undefined
(返回 null
不行),就将这个属性移除了:
相关阅读 >>
更多相关阅读请进入《JSON》频道 >>
Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者