最近遇到了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