将js对象转换成JSON
var obj = {x:1,y:"string",z:null,m:[5,6,7]} JSON.stringify(obj); //"{"x":1,"y":"string","z":null,"m":[5,6,7]}" //需要注意的地方 //属性值为undefined 将不会出现在序列化后的结果当中 //属性值为NaN,将转换成null //属性值为Infinity,将转换成null var o = {x:undefined,y:null,z:NaN,m:Infinity,p:new Date()}; JSON.stringify(o) //"{"y":null,"z":null,"m":null,"p":"2017-06-24T13:48:50.975Z"}"
将JSON转换为js对象
var o = JSON.parse(‘{"x":1}‘); o.x //1
序列化之自定义
var o = { x:1, y:2, z:{ z1:1, z2:3 } } JSON.stringify(o) //"{"x":1,"y":2,"z":{"z1":1,"z2":3}}" //如果我们想序列化后z 显示 z1+z2的值 怎么办? var o = { x:1, y:2, z:{ z1:1, z2:3, toJSON:function(){ return this.z1+this.z2; } } } JSON.stringify(o) //"{"x":1,"y":2,"z":4}"
时间: 2024-12-21 15:08:20