首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角4-类型: json2typescript json键映射器

角4-类型: json2typescript json键映射器
EN

Stack Overflow用户
提问于 2018-06-13 11:25:00
回答 2查看 897关注 0票数 1

对不起,我解释得不太清楚。我再次编辑我的问题:

我有一个角4应用程序,我使用json2typescript从json转换为对象,反之亦然,但是我有一个问题,因为我有一个类结构,而来自外部api的响应json有另一个结构。示例:

代码语言:javascript
复制
Customer {
  @JsonProperty('idCardNumber', String)
  idCardNumber: string = undefined;
  @JsonProperty('rolInfo.name',String) 
  name: string = undefined;
  @JsonProperty('rolInfo.surname',String) 
  surname: string = undefined;  
}

外部Json API响应:

代码语言:javascript
复制
 {
   "idCardNumber": "08989765F",
   "rolInfo": {
      "name": "John"
      "surname: "Smith"
   }
 }

因此,我想从上面的json映射到我的客户对象,而不是改变我的结构。我试着把'rolInfo.name‘放进JsonProperty中,但这行不通。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-06 09:15:07

将客户类更改为如下所示

代码语言:javascript
复制
Customer {
  @JsonProperty('idCardNumber', String)
  idCardNumber: string = undefined;

  @JsonProperty('rolInfo', Any) 
  rolInfo: any = {}; // if you set this to undefined, handle it in getter/setter

  get name(): string {
      return this.rolInfo['name'];
  }

  set name(value: string) {
      this.rolInfo['name'] = value;
  }

  get surname(): string {
     return this.rolInfo['surname'];
  }

  set surname(value: string) {
      this.rolInfo['surname'] = value;
  }
}

那应该就行了

票数 1
EN

Stack Overflow用户

发布于 2018-06-13 13:38:48

似乎响应JSON已经有了很好的格式,您不需要进行转换。我建议创建模型,因为它们允许在进行API调用并将响应绑定到该模型时进行序列化和反序列化。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50836032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档