要用到JSON,看了一篇( )的扫盲贴,在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 > <![CDATA[ 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.cnblogs.com/myqiao/archive/2009/04/04/1429305.html,如需转载请自行联系原作者