JSON 对象

最后更新于:2022-04-02 03:25:19

[TOC] ### JSON.stringify方法会忽略对象的不可遍历的属性。 设置 `enumerable ` 则不会被JSON 解析 ``` var a={}; Object.defineProperties(a,{ name:{ value:"ccc", enumerable:true, }, age:{ value:"123", enumerable:false, } }) JSON.stringify(a); //{"name":"ccc"} ``` ### JSON.stringify 第二参数,指定需要转换的属性 只有在第二参数中的属性才会转换(白名单) ``` var a={ name1:"ccc1", name2:"ccc2", name3:"ccc2", }; var b =['name1','name2']; JSON.stringify(a, b); //{"name1":"ccc1","name2":"ccc2"} ``` ### 第二个参数还可以是一个函数,用来更改JSON.stringify的返回值 ``` function f (key, val) { if (typeof val=='number'){ return val*2 }else{ return val; } } JSON.stringify(a, f); //{"name1":4,"name2":6,"name3":8} ```
';