是否可以在AngularJS中的API JSON响应中添加新数据?我正在使用REST API来返回国家/地区详细信息,但我想向其添加更多详细信息。
空字段很少(红色箭头)。我需要使用另一个API填写每个国家/地区,并在可能的情况下添加新的密钥,例如“id”等。
有可能实现这一目标吗?怎么样?
以下是代码:
$http.get("https://api.../getfile/rohit/fw18countries").success(function(data) {
teams = data.teams;
//console.log(data);
/* shuffle(teams); */
});
return {
GetTeams: function(){
return teams;
},
get: function(teamId) {
for (var i = 0; i < teams.length; i++) {
if (teams[i].id === parseInt(teamId)) {
return teams[i];
}
}
return null;
}
}
/* all teams data */
$scope.Allteams = wcAPI.GetTeams();
/* REST API call */
$http.get("http://api.../v1/competitions/467/fixtures")
.then(function(data) {
$scope.country = data;
console.log($scope.country);
});
现在,我需要使用$scope.country
(我的静态数据)更新$scope.Allteams
(REST API数据),其中包含上述相应字段。需要分别合并它们。
答案 0 :(得分:0)
您可以使用以下代码尝试此操作。循环遍历数据阵列并找到正确的数据。然后将所有值添加到对象。
for(var i = 0; i< $scope.country.length; i++) {
//Find the right index from $scope.country
for(var j = 0; j< $scope.Allteams.length; j++) {
// TODO here you have to campare by right value
if($scope.country[i].id == $scope.Allteams[j].teamId) {
for(var key in $scope.AllTeams[j]) {
if(!$scope.Allteams[j].hasOwnProperty(key)) continue;
//Adds the value to the object
$scope.country[i][key] = $scope.Allteams[j][key];
}
break;
}
}
}