2016-11-02 4 views
1

私はqooxdooオブジェクトをJSONにシリアル化しようとしましたが、次のことを試してみると「再帰」が多すぎます(Firebug-console) :Qooxdoo-Objectをシリアライズしようとすると 'too recursion'エラーが発生する

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

また.toNativeObject機能は、このエラーをスロー。 APIマニュアルはこれには非常に細いです:http://www.qooxdoo.org/current/apiviewer/#qx.util.Serializer

誰かが私のための実例を持っていますか、これの理由は何ですか?そこqx.util.Serializerを使用してと間違って何もいませんが、あなたはそれを再帰持つオブジェクトを与える場合 -

は、あなたのオブジェクトの

答えて

2

一つは、すでに直列化されたオブジェクトを参照するプロパティまたは類似を持っている必要がありますと挨拶をありがとうあなたは再帰エラーを取得します。

Qooxdooプレイグラウンド(http://www.qooxdoo.org/devel/playground/)を使用して問題の例を作成し、問題の診断に役立てることができます。それを再現できるときは、「短縮URL」ボタンを使用してtinyurlリンクを作成します。

はここ

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 
*/ 
+0

あなたの例のおかげで、ジョン、と申し訳ありません(SO文句を言わない:(私はtinyurlsを使ってみましょう)あなたは&が遊び場にそれをコピー&ペーストすることができ、qx.util.Serializerの作業例です私の後半の答え。誰かが答えて、これを無作為に見たという警告が出なかった。 問題は確かに再帰エラーでした。qooxdooでは、子オブジェクト プロパティを持つオブジェクトを使用しているときに見つかったもう1つの問題は、親オブジェクトへの参照を持っていますが、シリアライザはそれを好まないようです。別のタイプの複雑なオブジェクトのそこでは、json内に格納されているオブジェクトの現在のクラス名を持つプロパティを渡さなければなりませんでした。私はマーシャルに代理人が必要です。 – Ricky

関連する問題