我有一些看起来像这样的json字符串:
var TheJson = "{Key:[array of objects]}"
Key实际上是一个日期,json包含对象数组。我想将此对象添加到另一个对象HistoryOfData
,有点像数组上的.push
方法。基本上,我希望HistoryOfData
对象具有键值嵌套对象,其中键是日期,值是数据数组。
如何将对象推入另一个对象?
答案 0 :(得分:1)
只需将它们设置在新对象中即可。例如:
var json1 = '{"06/08/2012": [{}, {"x": 1}, {"y": 2}, {"x": 3, "y": 4}]}';
var json2 = '{"06/10/2012": [{}, {"x": 5}, {"y": 6}, {"x": 7, "y": 8}]}';
var new_obj = {}, temp;
temp = JSON.parse(json1);
for(key in temp)
new_obj[key] = temp[key];
var temp = JSON.parse(json2);
for(key in temp)
new_obj[key] = temp[key];
console.log(new_obj); // Has two keys, each key is a date
// and the values are Arrays of objects
答案 1 :(得分:0)
for(var key in JSON.parse(TheJson)) {
HistoryOfData[key] = TheJson[key]
}
如果TheJson真的仍然是一个String,并且尚未转换为JS对象,则需要 JSON.parse
。