将 Json 映射到有角度的对象 [英] Map Json to object in angular

查看:35
本文介绍了将 Json 映射到有角度的对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下 JSON 数据

I have the below JSON data

  {
  "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 获取结果并尝试将它映射到我的对象

and finally I am using the below code to fetch the result from the REST API and trying to map it to my object

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 数据并将其映射到我的对象.

I only want to use the rows part of the JSON data to map to my object and I am not sure how I can do that. Can someone please tell me how to selectively parse JSON data and map it to my object.

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

I am using Angular 6 and import { Observable } from 'rxjs/internal/Observable';

谢谢

推荐答案

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

Just subscribe to your service method from your component as,

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[];
    }

这篇关于将 Json 映射到有角度的对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆