尝试序列化Qooxdoo-Object时出现“过多递归”错误

时间:2016-11-02 11:38:27

标签: qooxdoo

我尝试将我的qooxdoo-object序列化为JSON,但如果我尝试以下操作,我总是会得到一个'太多的递归' - 错误消息(在Firebug-console中):

qx.util.Serializer.toJson(this.getGameData())

此外.toNativeObject-function抛出此错误。 API手册非常简单:http://www.qooxdoo.org/current/apiviewer/#qx.util.Serializer

是否有人为我提供了一个工作示例或建议可能是什么原因?

谢谢你和问候

1 个答案:

答案 0 :(得分:2)

你的一个对象必须有一个属性或类似的属性引用一个已经被序列化的对象 - 使用qx.util.Serializer并没有什么问题,但如果给它一个具有递归引用的对象你会得到一个递归错误。

您可以使用Qooxdoo Playground(http://www.qooxdoo.org/devel/playground/)创建问题示例,以便其他人可以帮助诊断您的问题;当你可以重现它时,使用"缩短网址"按钮创建一个tinyurl链接。

这是qx.util.Serializer的一个工作示例,您可以复制&将它粘贴到操场上(所以不要让我使用tinyurls :()

qx.Class.define("abc.MyClass", {
  extend: qx.core.Object,

  properties: {
    alpha: {
      init: null,
      nullable: true
    }
  }
});

var my = new abc.MyClass();
my.set({ alpha: 1 });
this.debug(qx.util.Serializer.toJson(my));


/* ******************************
 * Show the log by clicking the "Log" button in the toolbar to see the output
 */