创建嵌套的JSON数组

时间:2016-04-05 14:17:11

标签: javascript arrays angularjs json slim

我正在尝试创建一个JSON数组以将其发送到我的Web服务。这就是我的json应该是这样的:

[{
  "tipus": 1,
  "proveidor": 3,
  "atributs": {
    "atribut":{
      "id": 1,
      "valor": 8
    },
    "atribut":{
      "id": 2,
      "valor": 500
    }
  }
}]

所以,我有两个一般的价值观" tipus"和" proveidor"和多个" atributs"每个" atribut"由" id"组成。和"勇敢"。

当我构建json时,我得到了这个而不是我想要的东西:

[
2:{
  "tipus": 1,
  "proveidor": 3, 
1:{
      "id": 1,
      "valor": 8
  },
0:{
      "id": 2,
      "valor": 500
    }
}]

这就是我构建json的方式:

    // For every founded in $scope.atrb i need to create an 'atribut' element into my json
        $scope.a = [];
                            var key;
                            for(key in $scope.atrb){
                                var newField =  {
                                                "idatributs_actiu": $scope.atrb[key].idatributs_actiu, 
                                                "nomAtribut": $scope.atrb[key].nomAtribut, 
                                                "valor": $scope.atrb[key].valor,
                                                "idActiu": $routeParams.idTipusActiu,
                                                "value": "",
                                                "ordre": $scope.atrb[key].ordre,
                                                "idatributs_generics": $scope.atrb[key].idatributs_generics
                                            };
                                $scope.a.push(newField);
                            }
                            $scope.f = $scope.a;
                        });

var generics = {
                       "nom": $scope.nom,
                       "tipus": $routeParams.idTipusActiu,
                       "proveidor": $scope.proveidor.id
                   };
                   $scope.a.push(generics);

这是我的第一个有角度的项目,我不确定我是否适当地构建json,基本上我使用数组来构建一个json,但我不知道如何嵌套它' atribut'内部' atributs'。

主要想法是阅读“#generics' atributes然后循环遍及' atributs'并阅读所有' atribut'获得属性的元素。

此致

1 个答案:

答案 0 :(得分:0)

就像S4beR和Kevin B告诉我的那样,我只需要做一个JS数组。这是在我的控制器中:

var obj = { generics: g, atributs: $scope.a };
  

g:它是具有通用属性

的对象      

$ scope.a:这是一个包含' atribut'的数组。包含所有的物体   我需要保存的属性。