【发布时间】:2016-04-05 22:53:03
【问题描述】:
我正在尝试创建一个 JSON 数组以将其发送到我的 Web 服务。这就是我的 json 的样子:
[{
"tipus": 1,
"proveidor": 3,
"atributs": {
"atribut":{
"id": 1,
"valor": 8
},
"atribut":{
"id": 2,
"valor": 500
}
}
}]
所以,我有两个通用值“tipus”和“proveidor”以及多个“属性”,每个“属性”由“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);
这是我的第一个有角度的项目,我不确定我是否正确构建了 json,基本上我使用数组来构建 json,但我不知道如何将它嵌套在 'atributs' 中.
主要思想是读取“泛型”属性,然后遍历“属性”并读取所有“属性”元素获取属性。
问候
【问题讨论】:
-
您最初的
JSON结构并不完全正确。您应该将"atributs"视为JSONArray而不是JSONObject -
或者只是一个 JS 数组而不是 JSON 数组,因为 JSON 数组和 JSON 对象不存在。
-
感谢您的指正,但我想您明白了 :)
-
感谢@S4beR 和 Kevin B,但我怎么能用 angular 来做到这一点。我真的迷失了这个话题
-
@proktovief 只需使用 javascript 即可。这是非常基本的对象/数组生成。
标签: javascript arrays angularjs json slim