Angular2中的JSON(以@开头的字段)反序列化

时间:2017-02-15 14:12:34

标签: json angular typescript

我的情景非常简单。我正在尝试在Angular2应用程序中反序列化JSON。问题是在JSON中有一个以@。

开头的字段

示例:

  {
    "@type": ".StringField",
    "name": "description",
    "type": "String",
    "value": "A"
  }

所以我的问题是,如何在一个带有字段@type的Typescript中编写一个类?有没有办法以一种整洁的方式做到这一点?我无法找到解决方案。

@GünterZöchbauer

请考虑以下代码:

  getCustomerProfile(): Observable<CustomerMetaModel> {
    return this.http.get('/customer/metaModel')
      .map(this.extractData)
      .catch(this.handleError);
  }

  private extractData(res: Response): string {
    let body = res.json();
    return body || {};
  }

我不是自己做解析,而是让函数getCustomerProfile()完成所有工作。我该如何处理这种情况?

1 个答案:

答案 0 :(得分:3)

class MyClass {
  String xtype;
  String name;
  String type;
  String value;
  constructor(json:any) {
    this.xtype = json['@type'];
    this.name = json.name;
    this.type = json.type;
    this.value = json.value;
  }
}
var myClass = new MyClass(json);