我正在尝试从API中显示提取的数据。我正在成功,因为它在控制台中可见。 当我尝试将数据放入数组时,我遇到了错误。
接口:
interface ISearchResponse {
appendix: IAppendix;
}
interface IAppendix {
Airports:IAirport[];
}
interface IAirport {
name: string;
city:string;
}
问题所在的代码:
ngOnInit() {
console.log('SC: in OnInIt');
this._searchEngine.getSites().subscribe(sites => {
this.airports = sites;
console.log("SC: SITES:"+this.airports.appendix.Airports[0].name);
},
error => this.errorMessage = <any>error);
}
错误:
ERROR TypeError: Cannot read property '0' of undefined
答案 0 :(得分:2)
有时 this.airports.appendix.Airports
可能为空,请添加支票
在使用索引
this.airports = sites;
if(this.airports.appendix.Airports && this.airports.appendix.Airports.length > 0 ){
console.log("SC: SITES:"+this.airports.appendix.Airports[0].name);
}
答案 1 :(得分:0)
我已经解决了。我做错了是我给'机场'一个首都'A'。当JSON数据将其作为“机场”时。因此,没有任何东西进入阵列,因为它不存在。