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

posted @ 2021-10-01 10:29  超难微猫  阅读(1300)  评论(0编辑  收藏  举报