Javascript 创建嵌套JSON数组
我正在尝试创建一个JSON数组以将其发送到我的web服务。我的json应该是这样的:Javascript 创建嵌套JSON数组,javascript,arrays,angularjs,json,slim,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”,还有多个“at
[{
"tipus": 1,
"proveidor": 3,
"atributs": {
"atribut":{
"id": 1,
"valor": 8
},
"atribut":{
"id": 2,
"valor": 500
}
}
}]
所以,我有两个通用值“tipus”和“proveidor”,还有多个“atributs”,每个“atribut”由“id”和“valor”组成
当我构造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);
这是我第一个使用angular的项目,我不确定我是否正确地构建了json,基本上我使用数组来构建json,但我不知道如何将它嵌套在“atributs”中
主要思想是读取“泛型”atributes,然后循环遍历“atributs”,读取所有获得属性的“atribut”元素
就像S4beR和Kevin B告诉我的那样,我只需要做一个JS数组。这在我的控制器中:
var obj = { generics: g, atributs: $scope.a };
g:这是一个具有一般属性的对象
$scope.a:这是一个包含“atribut”对象的数组,其中包含所有
我需要保存到的属性
您的初始
JSON
结构不完全正确。你应该考虑<代码> Atdibts“<代码> >作为<代码> JSONArray <代码>,而不是<代码> jSunObjs<代码>,或者只是JS数组,而不是JSON数组,因为JSON数组和JSON对象不存在。谢谢指正,但我想你明白了点:)谢谢@ S4BER和Kevin B,但是我怎么能用角度来做呢?我真的很迷茫topic@proktovief只需使用javascript即可。这是非常基本的对象/数组生成。