Angular 2将JSON对象解析为角度类

时间:2016-04-06 15:54:30

标签: json typescript angular jsonp

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

最终我需要我的应用程序才能使用JSON-LD,它的属性名称为" @ id"。我已经完成了一些谷歌搜索,似乎RxJS可能具有我正在寻找的功能,但我不知道从哪里开始将自动绑定从一些JSON数据直接插入到我的angular2类中,而是能够查找被标记为" @ id"在json中并设置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,
  ){}
}

有人能指出我正确的方向,将一些文件/示例映射到angular2中的复杂/棘手的json吗?

1 个答案:

答案 0 :(得分:11)

我在答案4的答案中找到答案:How do I initialize a typescript object with a JSON object

希望如果有人登陆此页面寻找同样的事情,这会有所帮助!