【问题标题】:Angular 2 reference in JsonJson 中的 Angular 2 参考
【发布时间】:2018-04-16 11:18:29
【问题描述】:

我正在处理 Ionic2 项目,我想创建一个模型并将其保存到一个 json 文件中,以便稍后读取它以再次构建我的模型。我的问题是关于对象引用,例如:

当我用对象 A、B、C 构建 json 时:

let A = new A();
let B = new B();
let C = new C();

A.B = B;
A.C = C;
B.C = C; 

所以我的 json 是这样的:

A : {
   B : { C : { ... } },
   C : { ... }
}

此时C,A.C和B.C是同一个对象。因此,当我对 C 进行更改时,B.C 和 A.C 也有相同的更改。

但是,当我保存在文件中,然后读取文件时,对象是副本,所以当我更改 B.C 时,A.C 保持旧状态。

所以我的问题:

是否有任何选项可以将引用保存在 Json 文件中或在读取相同对象后进行检测?

谢谢!

【问题讨论】:

    标签: json angular typescript reference ionic2


    【解决方案1】:

    当该对象被转换为 JSON 字符串然后再次返回时,它们不再作为同一个对象链接。此外,真的没有办法让 json 知道一个事物是对另一个事物的引用。此外,当您从 json 加载它时,它甚至不知道 A、B 和 C 是特定“类”的实例。它们只是普通的 JavaScript 对象 (POJO)。

    如果您希望它们成为 A、B 和 C 的实例,则需要创建 A、B 和 C 的新实例,将 JSON 中的值设置为这些对象,然后设置 AC = BC或 BC = AC

    【讨论】:

      猜你喜欢
      • 2017-03-11
      • 2016-06-06
      • 1970-01-01
      • 1970-01-01
      • 2020-08-12
      • 1970-01-01
      • 1970-01-01
      • 2016-03-31
      • 2016-08-01
      相关资源
      最近更新 更多