`
ily0123456
  • 浏览: 25532 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

在Flex中使用Json

阅读更多
要用到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> 
        <![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的操作真是方便。



corelib下载地址:http://code.google.com/p/as3corelib/


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics