私は角2を学んでいて、サービスに加入してデータを返しましたが、今度はfor()
をループオーバーする必要がありますので、json
を配列にプッシュしました。すでに配列ですが、これが正しいかどうかは不明です。サブスクリプションからのデータへのアクセス
は基本的に私は私のコントローラ
public sublocation = [];
private subscriptions = [];
constructor(private statusService : StatusService) {
}
public getAllStatusList(){
this.subscriptions.push(
this.statusService.getStatusAPI()
.subscribe(
data => {
this.sublocation.push(data);
},
error => console.log('Server Error'),
)
);
}
public getSublocation(){
console.log(this.sublocation);
//TRYING TO DO STUFF HERE like if sublocation == london
}
JSONサンプル
[
[
{
"id": "19",
"parentTag": "0",
"name": "London",
"deliveryType": "E",
"enabled": "T",
"outageTag": [],
"sub": [
{
"id": "25",
"parentTag": "19",
"name": "London::Gatwick",
"deliveryType": "E",
"enabled": "T",
"outageTag": []
}
]
}
]
]
サービス
export class StatusService {
constructor(private http: Http) {
}
public getStatusAPI(): Observable<any>{
return this.http.get(environment.api)
.map((response: Response) => this.getStatusList(response))
.catch((error:any) => Observable.throw(error.json().error || 'Server Error'));
}
public getStatusList(responseData:any){
let data = [];
let res = responseData.json();
for(let prop in res) {
data.push(res[prop])
}
//console.log(data);
return data;
}
}
これは無効なjsonです。配列[]にはオブジェクト{}があり、配列内に配列があり、{} –
サービスがデータを正確に返す方法と正確に何を行う必要があるかをお伝えください。 –
@SumamaWaheed配列はオブジェクトを持つ必要はありません。配列はネストすることができます。 JSON –