我需要更改JSON结构,但我正在努力做到这一点,而且我不确定是否需要创建一个新对象,或者我可以只处理当前的对象?
无论如何这是我要改变的JSON:
{
"start": [
{"time": 22, "value": 324, "year": 2016},
{"time": 142, "value": 234, "year": 2016},
...
],
"end": [
{"time": 123, "value": 254, "year": 2016},
...
]
}
并改为:
{
"key": "start",
"values": [
{"time": 22, "value": 324, "year": 2016},
{"time": 142, "value": 234, "year": 2016},
...
]
}, {
"key": "end",
"values": [
{"time": 123, "value": 254, "year": 2016},
...
]
}
答案 0 :(得分:2)
您可以映射对象并返回新值
var obj = {
"start": [
{"time": 22, "value": 324, "year": 2016},
{"time": 142, "value": 234, "year": 2016}
],
"end": [
{"time": 123, "value": 254, "year": 2016}
]
}
var result = Object.keys(obj).map( k => {
return {key : k, values : obj[k]}
}).shift();
document.body.innerHTML = '<pre>' + JSON.stringify(result, 0, 4) + '</pre>';
答案 1 :(得分:0)
从您的问题来看,我的理解是您希望获得“关键:价值”格式。但是你JSON只是那种格式。
"start": [
{"time": 22, "value": 324, "year": 2016},
{"time": 142, "value": 234, "year": 2016}
]
在上面的代码中,start表示键,数组是值。您可以使用“object.start”访问该数组。