在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/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值