首先,我不是專門做前端的,用的時候研究下,目前希望將flex的class instance串行化成為Json以及從Json轉換成class instance。
目前已經有比較好的實現,是在as3corelib。代碼比較好懂。不過as3corelib只是將json和Object的instance轉換,而我的應用中需要轉換成具體的class的instance,因此,我hack了代碼,擴展好像不容易,很多代碼都是private,extends類意義不大。
1、JsonEncoder類。
將282行修改為:
return "{" + '"className":"' + flash.utils.getQualifiedClassName(o) + '"' + (s.length > 0 ? ',' : '') + s + "}";
增加className,標示這個對象是什么類的。
2、JsonDecorder類
在235行增加:
if (key == 'className') {
var className:String=parseValue().toString();
var clazz:Class=getDefinitionByName(className) as Class;
o=new clazz();
} else {
o[key]=parseValue();
}
運行良好,有兩點要注意的是:1、我始終將className放在最前面,2:這些持久類的構造方法不要帶參數。
歡迎轉載,請標明來自:
http://www.tkk7.com/bjwulin/archive/2011/03/17/346500.html
posted on 2011-03-17 23:08
不做浮躁的人 閱讀(4315)
評論(1) 編輯 收藏 所屬分類:
flex