我有一个这种类型的json对象:
jsonObject={visits:'3',
v1:{'timestamp':'1231313.311',
'time_year':'2011',
'time_month':'Jan',
'time_date':'15'
'X_value':'X'
},
v2:{'timestamp':'1231313.311',
'time_year':'2011',
'time_month':'Jan',
'time_date':'15'
'X_value':'Y'
},
v3:{'timestamp':'534224242.311',
'time_year':'2011',
'time_month':'Feb',
'time_date':'5',
'X_value':'Z'
}
}
现在我想把它转换成像......这样的格式。
JsonObject={'2011':{'Jan':{'15':['X','Y']
},
'Feb':{'5':'Z'
},
}
}
我该怎么做...我已经尝试迭代第一个JSONObject并取出年,月和日期值,但我无法从该数据创建新的JSONObject。
提前致谢。
答案 0 :(得分:0)
如果您尝试过迭代原始对象,那么您可能还有很长的路要走。您只需要创建新对象:
var newObject = {};
for(var key in jsonObject) {
if(key == 'visits')
continue;
var year = jsonObject[key]['time_year'];
var month = jsonObject[key]['time_month'];
var date = jsonObject[key]['time_date'];
if(!(year in newObject))
newObject[year] = {};
if(!(month in newObject[year]))
newObject[year][month] = {};
if(!(date in newObject[year][month]))
newObject[year][month][date] = [];
newObject[year][month][date].push(jsonObject[key]['X_value']);
}