将json结构转换为可用的javascript数据集
我对json格式有点小问题,我有一个类似这样的json将json结构转换为可用的javascript数据集,javascript,json,Javascript,Json,我对json格式有点小问题,我有一个类似这样的json { "h": [ "username", "class", "height" ], "d": [ [ "aji", "a", 9.9 ], [ "mail", "a", 2.2
{
"h": [
"username",
"class",
"height"
],
"d": [
[
"aji",
"a",
9.9
],
[
"mail",
"a",
2.2
],
[
"dono",
"b",
2.4
],
[
"parti",
"c",
1.2
]
]
}
我想要的是用javascript将json转换成这样?我必须先将json转换为数组,还是只对数组执行一些循环
[
{
"username":"aji",
"class":"a",
"height": 9.9
},
{
"username":"mail",
"class":"a",
"height":2.2
},
{
"username":"dono",
"class":"b",
"height":2.4
},
{
"username":"parti",
"class":"c",
"height":1.2
}
]
试试这个
var newData=[];
用于(数据d中的道具){
newData.push({
[data.h[0]]:data.d[prop][0],
[data.h[1]]:data.d[prop][1],
[data.h[2]]:data.d[prop][2]
})
}
console.log(newData);
这是另一个经过两次迭代的解决方案
var数据={“h”:[“用户名”、“等级”、“高度”]、“d”:[[“aji”、“a”、9.9]、“邮件”、“a”、2.2]、“dono”、“b”、2.4]、“parti”、“c”、1.2]],
数组=data.d.map(函数(a){
var o={};
a、 forEach(函数(b,i){
o[data.h[i]]=b;
});
返回o;
});
write(“”+JSON.stringify(数组,0,4)+“”)代码>哦,它工作了!,有没有什么方法可以让我们不需要手动声明诸如用户名、类、高度之类的道具?