Javascript - 转换名称:ItemName / Value:ItemValue对象为Regular ItemName:ItemValue JSON

时间:2015-04-28 18:00:16

标签: javascript jquery json

我的JSON数据如下所示:

[{"name":"age","value":31},
{"name":"height (inches)","value":62},
{"name":"location","value":"Boston, MA"},
{"name":"gender","value":"male"}]

我需要它看起来像这样:

[{"age": 31},
{"height (inches)": 62},
{"location": "Boston, MA"},
{"gender": "male"}]

这是一个jQuery Web应用程序。我将如何进行此转换?没有挑剔它是如何完成的,只是找不到现有的解决方案。谢谢!

3 个答案:

答案 0 :(得分:2)

这应该可以解决问题:

a = [{"name":"age","value":31},
     {"name":"height (inches)","value":62},
     {"name":"location","value":"Boston, MA"},
     {"name":"gender","value":"male"}];

b = a.map(function(item){
  var res = {}; 
  res[item.name] = item.value; 
  return res;
});

console.log(b);

答案 1 :(得分:0)



var jsonData = [{"name":"age","value":31},
{"name":"height (inches)","value":62},
{"name":"location","value":"Boston, MA"},
{"name":"gender","value":"male"}];

var newObj = [];
jsonData.forEach(function(d){
    var obj = {};
    obj[d.name] = d.value;
    newObj.push(obj)
});
console.log(JSON.stringify(newObj))




答案 2 :(得分:-1)

解析你的JSON字符串,然后迭代并构建一个字符串,如下所示:

var s = [{"name":"age","value":31},{"name":"height(inches)","value":62},{"name":"location","value":"Boston, MA"},{"name":"gender","value":"male"}];

var h='[';
for(var i = 0; i<s.length; i++){
  h+='{"'+s[i].name+'":"' + s[i].value + '"}'
  if(i!=s.length-1){
    h+=','
  }
}
h+=']';
h=JSON.parse(h);