我想将EXTjs类编码为Json,但是,我不能......
我使用JSON.stringify,但这会给出Exception with Type error。
我该怎么做?
谢谢,我的代码。
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);
答案 0 :(得分:8)
答案 1 :(得分: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"