-1
まず、2つの部分からなるJsonを作成する必要があります。ApiRestから企業の名前を取得する必要があります.Jsonには企業名とパラメータを含むパラメータが返されます会社のメンバーを持つ各会社の住所。 firtsのAPIの残りはhttp://api1.getcompanyiesと戻りである `Angular Jsを使用して2レベルのjson配列を作成する
[
{name: Company1,
members:
{ member1:
{
name: albert,
age: 16
},
member2:
{
name:joan,
age:18
}
}
},
{name: Company2,
members:
{ member1:
{
name: albert,
age: 16
},
member2:
{
name:joan,
age:18
}
}
}
]
:
[{
"_links": {
"url": {
"href": "http://api.company.members/1"
}
},
"name": "Company1",
},
{
"_links": {
"url": {
"href": "http://api.company.members/2"
}
},
"name": "Company2",
}, {
"_links": {
"url": {
"href": "http://api.company.members/3"
}
},
"name": "Company3"}
第2のAPI残り応答は次のとおりです。
{"employes": [
{
"name": "Mickael Ciani",
"age": "16"
},
{
"name": "Albert dd",
"age": "18"
}
]}
私が構築する必要があることJSONはこのようなものです最初に$ httpを入れ子にしてみましたが、うまくいきませんでした。
$http(firstApi)
.then(function(res) {
$scope.ob = {};
angular.forEach(res.data.teams, function(value, key) {
var companyName = value.name;
$scope.ob[companyName] = {};
$scope.ob[companyName].memberUrl = alue._links.url.href;
$scope.teams2.push(value.name);
$http(paramsPlayers)
.then(function(res2) {
// construct the array
},
function() {}
);
});
return $scope;
},
function() {}
);
は、私はネストされたHTTPを使用しない実行しようとしましたが、それでも最初のオブジェクトのcontructionが間違っているので、私は
$http(firstApi)
.then(function(res) {
$scope.ob = {};
angular.forEach(res.data.teams, function(value, key) {
var companyName = value.name;
$scope.ob[companyName] = {};
$scope.ob[companyName].memberUrl = alue._links.url.href;
$scope.teams2.push(value.name);
});
return $scope;
},
function() {}
);
$http(2apiparams)
.then(function(res2) {
//construct final json
},
function() {}
);
あなたはこのために$q.all
を使用する必要があり、すべての
上でより多くのアイデアを得るためにpromise chainingを見てみましょうか? (ファンクション(レスポンス){ \t var merged = []; \tレスポンス.teams.forEach(ファンクション(会社(会社):$ http(firstApi) )) }; { \t \t merged.push({ \t \t \t名:company.name、 \t \t \tメンバー) \t \tを} response.teams.employes; \t}); \tリターンがマージ'$ qを注入する。あなたのデータの例は変わったように見えます - 達成しようとしているものとはまったく異なります –