简体   繁体   中英

Serializing object with arrays with objects to JSON in javascript

I have an object like this:

obj = {"arr1" : [], "arr2" : ['z1', 'z2', 'z3'], "arr3" : []};
obj['arr2']['z2'] = 'z8';

It has nested arrays, and each value of can be an object with or without arrays, etc.

How to get a JSON for that? JSON.stringify would lose 'z8' value.

arr2 is an array. You cannot use it like a map.

var obj = {"arr1" : [], "arr2" : ['z1', {'z2':'z3'}], "arr3" : []};
obj['arr2'][1]["z2"] = 'z8';
alert(JSON.stringify(obj));​

Fiddle

In JSON (by standard) you have Arrays, Objects, values and strings , arrays are not Objects like in JavaScript. JSON is only a data-interchange format, you don't have a base prototype like in JavaScript where almost everything is an object and have properties.

So, if you want to have a property z3 of z2 you have to make z2 an object.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM