JSON.stringify 后数据丢失

最近遇到了JSON.stringify 序列化对象后,数据丢失问题,之前用这个函数一直没出过问题,这次出问题了,而且卡了很久,所以记录下

情景如下:

var a = [];
a.push(42);
a.foo = 'bar';
console.log(a)    
console.log(JSON.stringify(a));

 会发现a 对象明明有个 43,还有个 foo对象,但是序列化之后只剩下42

原因是a被定义为数组,当js序列化它的时候,采用遍历数组的方式去序列化,导致foo这个对象没有被识别出来

参考:https://stackoverflow.com/questions/27955104/json-stringify-removing-data-from-object

原文地址:https://www.cnblogs.com/xieweikang/p/15358887.html