【问题标题】:Map Json to object in angular以角度将 Json 映射到对象
【发布时间】:2018-08-04 18:32:27
【问题描述】:

我有以下 JSON 数据

  {
  "columns": [
    {
      "table": "black_list",
      "name": "id",
      "datatype": "uuid"
    },
    {
      "table": "black_list",
      "name": "emailid",
      "datatype": "varchar"
    },
    {
      "table": "black_list",
      "name": "membershipid",
      "datatype": "varchar"
    },
    {
      "table": "black_list",
      "name": "phonenumber",
      "datatype": "varchar"
    }
  ],
  "rows": [
    {
      "id": "59525ac0-9799-11e8-8ea0-897582b5513d",
      "emailid": "bid@email.com",
      "membershipid": "999999",
      "phonenumber": "1234567890"
    }
  ]
}

我的模型是

export interface BlacklistData {
    id: string;
    emailid: string;
    membershipid: string;
    phonenumber: string;   
}

最后我使用下面的代码从 REST API 获取结果并尝试将其映射到我的对象

public GetBlackListData(): Observable<WatchlistData[]> {
        var path = "http://ec2compute/BDEServices/RestSearch?selectCls=all&fromCls=demo.black_list";
        return this.http.get(path)
            .pipe(map((result: Response) => this.BlackListData = result.json()));
    }

我只想使用 JSON 数据的行部分来映射到我的对象,但我不确定如何做到这一点。有人可以告诉我如何选择性地解析 JSON 数据并将其映射到我的对象。

我正在使用 Angular 6 并从 'rxjs/internal/Observable' 导入 { Observable };

谢谢

【问题讨论】:

    标签: angular angular6


    【解决方案1】:

    只需从您的组件订阅您的服务方法,

    this.yourService.GetBlackListData().subscribe(result => this.result =result.rows);
    

    你的模型应该如下,

        export interface Column {
            table: string;
            name: string;
            datatype: string;
        }
    
        export interface Row {
            id: string;
            emailid: string;
            membershipid: string;
            phonenumber: string;
        }
    
        export interface BlacklistData {
            columns: Column[];
            rows: Row[];
        }
    

    【讨论】:

    • 太棒了..非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2019-05-27
    • 2021-10-31
    • 2020-02-07
    • 2012-04-23
    • 2014-11-07
    • 2017-12-24
    • 1970-01-01
    • 2013-04-17
    相关资源
    最近更新 更多