现在的位置: 首页 > 综合 > 正文

如何在Flex中使用Json

2018年07月28日 ⁄ 综合 ⁄ 共 1282字 ⁄ 字号 评论关闭

本文和大家重点讨论一下如何在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的操作真是方便。

 

抱歉!评论已关闭.