在JSON数组处循环并创建单个JSON字符串

斯图尔特

这应该很容易,但是由于某些原因我被卡住了-

如果我有一个像这样的json并需要将其转换:

{ data : [
{id : data1, name : "Description"},
{id : data2, name : "Contribution"},
{id : data3, name : "Footer"},
]}

变成这样的东西?

 {
data : [
  { data1: "Description" , data2: "Contribution", data3: "Footer" },
  ]}

谢谢,斯图尔特

妮娜·斯科茨(Nina Scholz)

一个小人Array.prototype.reduce应该做的工作:

var obj = {
        data: [
            { id: 'data1', name: 'Description' },
            { id: 'data2', name: 'Contribution' },
            { id: 'data3', name: 'Footer' },
        ]
    };

obj.data = obj.data.reduce(function (r, a) {
    r[a.id] = a.name;
    return r;
}, {});

document.write('<pre>' + JSON.stringify(obj, 0, 4) + '</pre>');

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章