从已经存在的json创建动态json

时间:2013-10-28 10:21:45

标签: javascript json

我在这个结构中得到一个json:

{
data: { 
    ads: [
            {           
            name: "0",
            id: "81"
            },
            {           
            name: "0",
            id: "82"
            }           
        ]
    }
}

我想从现有的json中再创建一个json。

{
json{
    81:[
            {           
                name: "a",
                id: "81"
            },
        ]
    82:[
        {           
                name: "c",
                id: "82"
            }
    ]
  }

}

我不知道如何根据id创建。任何人都可以帮助我。使用javascript我想创建这个

1 个答案:

答案 0 :(得分:3)

您可以使用bracket notation来实现此目标:

var obj = {
    data: { 
        ads: [
            {           
            name: "0",
            id: "81"
            },
            {           
            name: "0",
            id: "82"
            }           
        ]
    }
};

var newobj = {
  json: {}
};
for(var i in obj.data.ads) {
    var a = obj.data.ads[i];
    if(!(a.id in newobj.json)) {
        newobj.json[a.id] = [];
    }
    newobj.json[a.id].push({ name: a.name, id: a.id });
}

这是一个fiddle来演示。

相关问题