json - Angular 2 将 JSON 对象解析为 Angular 类

标签 json typescript angular jsonp

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

最终我需要我的应用程序使用 JSON-LD,它具有诸如“@id”之类的属性名称。我做了一些谷歌搜索,似乎 RxJS 可能具有我正在寻找的功能,但我不确定从哪里开始将一些 JSON 数据的自动绑定(bind)直接中断到我的 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 中的类的一些文档/示例,谁能指出正确的方向?

最佳答案

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

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

关于json - Angular 2 将 JSON 对象解析为 Angular 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36456225/

相关文章:

javascript - 如何使用 Javascript 从 JSON 数组响应中删除一些字段?

typescript - VS2017RC Typescript 不生成 javascript

css - Angular Material 设置颜色 primary, accent, warn

javascript - Angular 2 iframe混淆

javascript - 嵌套的可观察对象仅在超时后传播错误

c# - 解析作为 exe C# 输入参数提供的 json 字符串

json - 我可以在同一个 json 文件中的另一个对象中引用一个 json 对象吗?

JavaScript 数组值未定义?

interface - 如何导出已导入的接口(interface)?

javascript - 如何使用 Angular 显示 "tags"对象的内容?