如何在 TypeScript Angular 2 中将 Json 对象数组映射到另一个普通 json 对象

Posted

技术标签:

【中文标题】如何在 TypeScript Angular 2 中将 Json 对象数组映射到另一个普通 json 对象【英文标题】:How to Map array Of Json Object Into another Plain json Object in TypeScript Angular 2 【发布时间】:2018-07-20 02:49:00 【问题描述】:

响应正文;

[
  
    "professionalId": 
      "cib_code": "30003",
      "thirdPartyId": "RS30004"
    ,
    "nationalIdentifier": "984538926",
    "nationalIdType": "SIREN"
  ,
  
    "professionalId": 
      "cib_code": "30003",
      "thirdPartyId": "RS30008"
    ,
    "nationalIdentifier": "944316926",
    "nationalIdType": "SIREN"
  
]

通过使用来自 DB 的 Rest 调用获取 json 响应:

this.thirdpartyServices.getThirdparties().subscribe(data=>this.thirdpartyapis$=data);

**thirdpartyapis** 对象中获取高于 Json 数组响应

但我想要另一个可以以简单格式包含此数据的对象,例如

[
  
    "cib_code": "30003",
    "thirdPartyId": "RS30004"
    "nationalIdentifier": "984538926",
    "nationalIdType": "SIREN"
  ,
  
    "cib_code": "30003",
    "thirdPartyId": "RS30008"
    "nationalIdentifier": "944316926",
    "nationalIdType": "SIREN"
  
]

想在 Typscript 中映射我的数据,以便可以在 html 中使用相同的对象在 Grid 表中显示数据 请在 angular 2 Typescript 中提出建议

【问题讨论】:

【参考方案1】:

也许你可以使用解构,

this.thirdpartyServices.getThirdparties()
  .map(each => 
    let  nationalIdentifier, nationalIdType  = each;
    return 
      ...each.professionalId,
      nationalIdentifier,
      nationalIdType
    ;
  )
  .subscribe(data => 
    this.thirdpartyapis$ = data;
  );

您也可以从以下位置导入“地图”,

import 'rxjs/add/operator/map';

【讨论】:

以上是关于如何在 TypeScript Angular 2 中将 Json 对象数组映射到另一个普通 json 对象的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Angular 2 的 TypeScript 中映射嵌套的 Json

“Angular 2.0 for TypeScript”(alpha)动画是如何工作的?

Angular 2 / Typescript - 如何检查对象数组以查看属性是不是具有相同的值?

我如何实际部署 Angular 2 + Typescript + systemjs 应用程序?

如何使用 Typescript 在 Angular 2 中使用 Google 实现登录

如何使用 Angular 2 / Typescript 限制输入字段中的特殊字符