flex 利用json读写数据

来源:互联网 发布:淘宝开店怎么上架 编辑:程序博客网 时间:2024/06/05 02:47
由于一直用json开发,对json比较熟悉了,所以学习flex以后一直想做一个flex与json的开发,网上海一样的资源一直没找到合适的,今天偶然间搜到一篇文章才知道flex早就支持json解析。这里提供资源下载网站 
http://code.google.com/p/as3corelib/downloads/list。顺便将例子上传上来希望对大家学习有帮助。 
举例如下: 
步骤1:到上面的链接中下载swc文件到lib包下 
步骤2:在webRoot下新建文件夹flexds,其下新建文件json.jsp 
Java代码  收藏代码
  1. json.jsp内容如下:  
  2.   
  3. <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2">   
  4. <jsp:directive.page import="java.text.*"/>  
  5. <jsp:directive.page import="java.lang.*"/>  
  6. <jsp:directive.page contentType="text/json"/>  
  7.     [<jsp:scriptlet>  
  8.         <![CDATA[  
  9.             double compa = 1000.0;  
  10.             double compb = 900.0;  
  11.             for (int i = 0; i<=30; i++) {  
  12.             compa += ( Math.random() * 100 ) - 50;  
  13.             compb += ( Math.random() * 100 ) - 50;  
  14.             if ( i > 0 ) out.print( "," );  
  15.             ]]> </jsp:scriptlet>  
  16.             {"compa":<jsp:expression>compa</jsp:expression>,  
  17.             "compb":<jsp:expression>compb</jsp:expression>}<jsp:scriptlet>  
  18.             <![CDATA[ }  
  19.         ]]>  
  20.     </jsp:scriptlet>  
  21. ]  
  22. </jsp:root>  

Java代码  收藏代码
  1. 步骤3:下面做测试文件flexSrc下新建jsondg.mxml文件,内容如下:  
  2. <?xml version="1.0" encoding="utf-8"?>  
  3. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"  
  4.                 layout="vertical"  
  5.                 creationComplete="jsonservice.send()">  
  6.     <mx:Script>  
  7.         <![CDATA[  
  8.             import mx.rpc.events.ResultEvent;  
  9.             import com.adobe.serialization.json.JSONDecoder;  
  10.             import mx.controls.Alert;  
  11.   
  12.             private function onJSONResult(event:ResultEvent):void  
  13.             {  
  14.                 var data:String=event.result.toString();  
  15.                   
  16.                 data=data.replace(/\s/g, '');  
  17.                 var jd:JSONDecoder=new JSONDecoder(data);  
  18.                 dg.dataProvider=jd.getValue();  
  19.             }  
  20.         ]]>  
  21.     </mx:Script>  
  22.     <mx:HTTPService id="jsonservice"  
  23.                     url="http://localhost:8080/felxDOC/flexds/json.jsp"  
  24.                     resultFormat="text"  
  25.                     result="onJSONResult(event)"/>  
  26.     <mx:Panel title="Stock Data "  
  27.               width="100% "  
  28.               height="100% ">  
  29.         <mx:DataGrid id="dg"  
  30.                      width="100%"  
  31.                      height="100%">  
  32.             <mx:columns>  
  33.                 <mx:DataGridColumn dataField="compa"/>  
  34.                 <mx:DataGridColumn dataField="compb"/>  
  35.             </mx:columns>  
  36.         </mx:DataGrid>  
  37.     </mx:Panel>  
  38. </mx:Application>  
原创粉丝点击