如何在angularjs/javascript中更改/添加JSON结构中的字段

How to change/add field in JSON structure in angularjs/javascript

本文关键字:JSON 添加 结构 字段 angularjs javascript      更新时间:2023-09-26

我使用angularjs http get方法来获取数据,我得到的JSON格式是:

{"SITE1":[
    {
        "name":"name1",
        "status":"0",
        "id":23,
        "isDeleted":false
    },
    {
        "name":"name2",
        "status":"0",
        "id":13,
        "isDeleted":false
    }],
"SITE2":[
    {
        "name":"name3",
        "status":"0",
        "id":2,
        "isDeleted":false
    }
    ]}

但我希望数据是格式

{"location" : "SITE1",
 "services" : [
      {
        "name":"name1",
        "status":"0",
        "id":23,
        "isDeleted":false
      },
      {
        "name":"name2",
        "status":"0",
        "id":13,
        "isDeleted":false
      }],
   "location" : "SITE2",
    "services":[
       {
        "name":"name3",
        "status":"0",
        "id":2,
        "isDeleted":false
       }
    ]}

请帮忙,如何做到这一点。我试过使用

object["location"] = key;
 object["status"] = value;

以添加这些字段。但这里面出了问题。

正如"Nowhere man"所说,您的请求不会起作用,因为您目前正在为同一个键设置不同的值,因此只显示最后一个值。在我看来,最好的解决方案是拥有一组对象。

var temp=[];
angular.forEach(values, function(data, index){
    var tempObj={};
    tempObj.location=index;
    tempObj.services=data;
    temp.push(tempObj);
});
return temp;

看看这个笨蛋http://plnkr.co/edit/5UdDEl?p=preview