?? 要用到JSON,看了一篇(http://bbs.actionscript3.cn/thread-1657-1-1.html )的扫盲贴,在Flex中使用Json十分方便。json是介于纯文本方式与xml方式之间的一种格式,json能做到的事情,xml完成可以做到。为什么要用json呢,我看大部分还是像我一样,不得不用。json是ajax数据传输的首选,现有的项目使用的已经是json,如果增加flex界面时也使用json,那改动就会非常少。扫盲贴中说出的三个理由,我觉得这一个最充分。
??? 要在flex中使用json,首先要下一个json包。是官方的,却在官方怎么也载不下来。终于在CSDN上用了3分才down下来。放在附件中,需要的可以拿去用。
??? 贴一个例子:

<?
xml?version="1.0"?encoding="utf-8"
?>
??

<
mx:Application?
xmlns:mx
="http://www.adobe.com/2006/mxml"
?layout
="absolute"
??

?creationComplete
="init()"
>
??

????
<
mx:Script
>
??

????????
<
??????????????

????????????import?com.adobe.serialization.json.*;??

??????????????

??????????????

????????????private?var?jsonStr:String;??

????????????private?var?jsonObj:Object;???????????

??????????????

????????????private?var?jsonObj2:Object;??

????????????private?var?jsonStr2:String;??

??????????????

????????????internal?function?init():void{??

????????????????jsonStr?=??'{"name":"zhanzhihu","age":22,"gender":"male"}';???????????????

????????????????jsonObj?=?new?Object();??

????????????????jsonObj?=?JSON.decode(jsonStr);??

????????????????trace(jsonObj.name);??

??????????????????

????????????????jsonObj2?=?new?Object();??

????????????????jsonObj2.firstName?=?"bill";??

????????????????jsonObj2.lastName??=?"Gate";??????

????????????????jsonObj2.com???????=?"Microsoft";??

????????????????jsonStr2?=?JSON.encode(?jsonObj2?);??

????????????????trace(?jsonStr2?);???????

????????????}??

??????????????????????????

????????
]]>
??

????
</
mx:Script
>
??

</
mx:Application
>
??

复制代码
?
?
输出为:
zhanzhihu
{"firstName":"bill","lastName":"Gate","com":"Microsoft"}
jsonStr是一个json格式的字符串,用JSON.decode(String)便可以将它解析为as对象,同样用JSON.encode(Object)可以将as对象转为json字符串,flex前台对json的操作真是方便。
转自:http://www.voidcn.com/article/p-mmwjuzat-tx.html