Angular 2将JSON对象解析为角度类[重复]

Posted

技术标签:

【中文标题】Angular 2将JSON对象解析为角度类[重复]【英文标题】:Angular 2 parsing JSON objects into angular classes [duplicate] 【发布时间】:2016-07-27 03:45:55 【问题描述】:

我一直在关注 Angular2 入门文档来启动我自己的应用程序,我已经成功地从本地文件中检索 JSON 对象并在 angular2 模板中显示它们。然而,目前它依赖于与我的 JSON 文件中的对象结构完全匹配的角度类。

最终我需要我的应用程序使用 JSON-LD,它具有诸如“@id”之类的属性名称。我做了一些谷歌搜索,似乎 RxJS 可能具有我正在寻找的功能,但我不确定从哪里开始将一些 JSON 数据的自动绑定直接中断到我的 angular2 类中,而是能够查看在 json 中设置标记为“@id”的内容并设置 SomeClass.id 的值

自动生成 Person 类数组的当前代码:

getPeople()
    return this._http.get(this._peopleUrl)
        .map(response => <Person[]> response.json().data)
        .do(data => console.log(data)) //debug to console
        .catch(this.handleError);
 

这样的 JSON 很好:

[
 
  "id":"1",
  "name":"tessa"
 ,
 
  "id":"2",
  "name":"jacob"
 
]

但对于像这样的 JSON,它显然会失败:

[
 
  "@id":"1",
  "name":"tessa"
 ,
 
  "@id":"2",
  "name":"jacob"
 
]

我的课很简单(目前:-))

export class Person 
  constructor(
    public id:number,
    public name:string,
  )

对于将复杂/棘手的 json 映射到 angular2 中的类的一些文档/示例,谁能指出正确的方向?

【问题讨论】:

【参考方案1】:

我在此处给出的答案的选项 4 中找到了答案:How do I initialize a typescript object with a JSON object

如果有人登陆此页面寻找相同的东西,希望这会有所帮助!

【讨论】:

以上是关于Angular 2将JSON对象解析为角度类[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将json数据转换为角度2+的对象[重复]

Typescript,Angular 2 - 将 Json 解析为 http 中的对象

如何以角度将 JSON 对象数组转换为 Observable 数组

将返回的 Observables 转换为角度的自定义类数组

使用角度js将具有相同ID的重复对象从json数据合并为单个对象

围绕javascript json格式包装一个对象,如何获取角度来解析它