技术分享 如何在Flex中使用Json

    本文向大家介绍一下如何在Flex中使用Json,Json是介于纯文本方式与xml方式之间的一种格式,Json能做到的事情,请看本文详细介绍。

     

    本文和大家重点讨论一下如何在Flex中使用Json,要在Flex中使用Json,首先要下一个Json包。希望本文的介绍能让你有所收获。

    在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下来。放在附件中,需要的可以拿去用。

    贴一个例子: 

       
       
       
       
    1. <?xmlversionxmlversion="1.0"encoding="utf-8"?> 
    2. <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml" 
    3.  
    4. layout="absolute" 
    5. creationComplete="init()"> 
    6. <mx:Script> 
    7. <![CDATA[  
    8.  
    9. importcom.adobe.serialization.Json.*;  
    10.  
    11.  
    12. privatevarJsonStr:String;  
    13. privatevarJsonObj:Object;  
    14.  
    15. privatevarJsonObj2:Object;  
    16. privatevarJsonStr2:String;  
    17.  
    18. internalfunctioninit():void{  
    19. JsonStr='{"name":"zhanzhihu","age":22,"gender":"male"}';  
    20. JsonObj=newObject();  
    21. JsonObj=Json.decode(JsonStr);  
    22. trace(JsonObj.name);  
    23.  
    24. JsonObj2=newObject();  
    25. JsonObj2.firstName="bill";  
    26. JsonObj2.lastName="Gate";  
    27. JsonObj2.com="Microsoft";  
    28. JsonStr2=Json.encode(JsonObj2);  
    29. trace(JsonStr2);  
    30. }  
    31.  
    32. ]]> 
    33. </mx:Script> 
    34. </mx:Application> 
    35.  

    输出为: 

       
       
       
       
    1. zhanzhihu  
    2. {"firstName":"bill","lastName":"Gate","com":"Microsoft"} 

    JsonStr是一个Json格式的字符串,用Json.decode(String)便可以将它解析为as对象,同样用Json.encode(Object)可以将as对象转为Json字符串,Flex前台对Json的操作真是方便。

你可能感兴趣的:(json,Flex,职场,休闲,纯文本)