不做浮躁的人
正在行走的人...
posts - 171,  comments - 51,  trackbacks - 0
首先,我不是专门做前端的,用的时候研究下,目前希望将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.blogjava.net/bjwulin/archive/2011/03/17/346500.html
posted on 2011-03-17 23:08 不做浮躁的人 阅读(4304) 评论(1)  编辑  收藏 所属分类: flex

FeedBack:
# re: Flex真正实现as3对象和json的相互转换[未登录]
2015-07-01 17:52 | eric
你好, 请问那个JsonEncoder和JsonDecoder类是哪里来的呢  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 

<2011年3月>
272812345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用链接

留言簿(9)

随笔分类(31)

随笔档案(75)

文章分类(1)

文章档案(3)

搜索

  •  

最新评论

阅读排行榜

评论排行榜