Javascript 拆分键值对,给它们新的键

Javascript 拆分键值对,给它们新的键,javascript,json,split,key,Javascript,Json,Split,Key,目前,我的JSON如下所示: var json = {"level" : [ {"hs": 20}, //one {"no_hs": 30} //two ]}; var json = {"level" : [ {"education" : "hs", "amount" : 20}, //one {"education" : "no_h

目前,我的JSON如下所示:

var json = {"level" : [
                {"hs": 20},    //one
                {"no_hs": 30}  //two 
            ]};
var json = {"level" : [
               {"education" : "hs", "amount" : 20},   //one
               {"education" : "no_hs", "amount" : 30} //two
]};
我需要它看起来像这样:

var json = {"level" : [
                {"hs": 20},    //one
                {"no_hs": 30}  //two 
            ]};
var json = {"level" : [
               {"education" : "hs", "amount" : 20},   //one
               {"education" : "no_hs", "amount" : 30} //two
]};
如何拆分一个键值对,生成两个值,然后向其中添加键?

您可以使用它来获取键。
var object={“level”:[{“hs”:20},{“no_hs”:30}];
object.level=object.level.map(函数(a){
var o={};
Object.keys(a).forEach(函数(k){
o、 教育=k;
o、 金额=a[k];
});
返回o;
});

document.write(''+JSON.stringify(object,0,4)+'')
您可以使用
Object.keys(obj)
返回给定对象的键数组

然后使用
[0]
访问第一个键,因为对象只有一个键值对

var json={“级别”:[
{“hs”:20},//一个
{“否”:30}//2
]};
var-ret=[];
forEach(函数(项){
var key=Object.key(项)[0];
后推({
教育:对象。键(项)[0],
金额:项目[关键]
});
});
json.level=ret;
document.write(“”+JSON.stringify(JSON,0,4)+“”);
更简单的方法。。。 用1映射函数解析。。。 对于级别数组中的每个元素,获取对象的第一个键并返回新元素


虽然这个答案可能是正确和有用的,但如果你想解释一下它是如何帮助解决问题的,那就更好了。如果有一个变化(可能是无关的)导致它停止工作,并且用户需要了解它曾经是如何工作的,那么这在将来变得特别有用。谢谢