使用模型

时间:2017-11-21 12:06:10

标签: javascript json angular

我是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

1 个答案:

答案 0 :(得分:0)

正如AJT和Khan所说,问题是属性名称不匹配。一旦我更改了属性名称以匹配json响应,我就能获得值。