0

EXTjsクラスをJsonにエンコードしたいのですが、できません..

JSON.stringify を使用していますが、Type エラーで例外が発生します。

どうやってやるの?

ありがとう、ここに私のコード。

Ext.define('Text',{
    extend : 'Ext.Img',
    x : 50,
    y : 50,
    size : 100,
    text : 'Text',
    name : 'Text',
    src : ' ',
    tag : '',
    Events : []
});

var text = new Text();
var temp = JSON.stringify(text);
4

2 に答える 2

8

使ってみて

Ext.encode(Object)

オブジェクト、配列、またはその他の値をエンコードし、JSON 文字列を返します。

Ext.JSONを参照

オブジェクトをシリアライズする

于 2012-04-13T08:00:15.233 に答える
5

ここでの問題は、ExtJS がオブジェクトに内部参照を作成し、それが循環的であることが判明したことです。したがって、デフォルトの JSON シリアライザーは失敗します。

toJSONによって呼び出されるメソッドを手動で定義する必要がありますJSON.stringify

Ext.define('Text', {
    extend : 'Ext.Img',
    x : 50,
    y : 50,
    size : 100,
    text : 'Text',
    name : 'Text',
    src : ' ',
    tag : '',
    Events : [],

    toJSON: function () {
        return 'Whatever you like' + this.text + this.size // etc.
    }

});

JSON.stringify(new Text()); // "Whatever you likeText100"
于 2012-04-17T20:44:37.300 に答える