我是json和angular的新手。我正在尝试使用模型访问API响应。但是当我尝试访问它时它给了我undefined。
以下是json API返回
{
"Inventory App": {
"AnalyticsUI": "UP",
"BaseUI": "UP",
"PlanningUI": "UP",
"UploadUI": "DOWN"
}
}
我的模型定义如下
export class AppModel {
constructor(
public experience: AppList
) {}
}
export class AppList {
constructor(
public appName1: String,
public appName2: String,
public appName3: String,
public appName4: String,
public appName5: String
) {}
}
以下是我的服务电话
import { AppModel } from './model/appList.model';
getAppStatus$(): Observable<AppModel> {
return this.http
.get('https://abc.xyc.com/AppController/AppsStatus')
.catch(this._handleError);
}
以下是我尝试访问API数据的组件。
export class MainComponent {
......
appList: AppModel;
.....
public _getAppStatus() {
this.appSub = this.api
.getAppStatus$()
.subscribe(
res => {
this.appList = res;
console.log(this.appList);
console.log(this.appList.experience);
},
err => {console.error(err); }
);
}
}
当我尝试访问this.appList.experience时,它给了我undefined。 this.appList正确打印json结果的位置。对此有任何帮助非常感谢。
控制台输出: Console output
答案 0 :(得分:0)
正如AJT和Khan所说,问题是属性名称不匹配。一旦我更改了属性名称以匹配json响应,我就能获得值。