Javascript 如何更改JSON的结构

Javascript 如何更改JSON的结构,javascript,html,angularjs,arrays,json,Javascript,Html,Angularjs,Arrays,Json,我有一个类似这样的JSON {"a":1,"b":2,"c":3} [{ "option_id": "a", "option_value": "1" }, { "option_id": "b", "option_value": "2" }, { "option_id": "c", "option_value": "3" }] 我怎样才能像这样转换它的结构 {"a":1,"b":2,"c":3} [{ "option_id": "a", "option_value": "1" }, { "o

我有一个类似这样的JSON

{"a":1,"b":2,"c":3}
[{
"option_id": "a",
"option_value": "1"
},
{
"option_id": "b",
"option_value": "2"
},
{
"option_id": "c",
"option_value": "3"
}]
我怎样才能像这样转换它的结构

{"a":1,"b":2,"c":3}
[{
"option_id": "a",
"option_value": "1"
},
{
"option_id": "b",
"option_value": "2"
},
{
"option_id": "c",
"option_value": "3"
}]
我尝试了JSON.stringify、result.push[I、data[I]]等,但使用Arrayreduce至今没有成功

var json={a:1,b:2,c:3}, 结果=Object.keysjson.reducefunctions,一个{ s、 push{option_id:a,option_value:json[a]}; 返回s; }, []; console.logresult 您必须使用map函数,它接受回调函数

此外,您应该使用Object.keys方法来获取对象的关键点

var对象={a:1,b:2,c:3} console.logObject.KeyObject.mapfunctionitem{ 返回{option\u id:item,option\u value:object[item]};
}; 如果您使用的是ECMAScript 5.1或更高版本或合适的polyfill,则以下内容将满足您的要求

let value = {"a":1,"b":2,"c":3};
let newValue = Object.keys(value).map(key => ({option_id:key,option_value:a[value]}));

减少对地图。映射赢家。@Kinduser,有时映射赢家,有时减少赢家。我创建了一个liitle游戏来测试性能。请看这里:。也许你可以改进算法,@Alexandru IonutMihai是的,地图赢了。每次尝试地图都是10-7。@Kinduser,顺便说一句,你的答案是:+1。@Alexandru IonutMihai你的更好,+1