flex json开发

由于一直用json开发,对json比较熟悉了,所以学习flex以后一直想做一个flex与json的开发,网上海一样的资源一直没找到合适的,今天偶然间搜到一篇文章才知道flex早就支持json解析。这里提供资源下载网站
http://code.google.com/p/as3corelib/downloads/list。顺便将例子上传上来希望对大家学习有帮助。
举例如下:
步骤1:到上面的链接中下载swc文件到lib包下
步骤2:在webRoot下新建文件夹flexds,其下新建文件json.jsp
json.jsp内容如下:

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"> 
<jsp:directive.page import="java.text.*"/>
<jsp:directive.page import="java.lang.*"/>
<jsp:directive.page contentType="text/json"/>
	[<jsp:scriptlet>
		<![CDATA[
			double compa = 1000.0;
			double compb = 900.0;
			for (int i = 0; i<=30; i++) {
			compa += ( Math.random() * 100 ) - 50;
			compb += ( Math.random() * 100 ) - 50;
			if ( i > 0 ) out.print( "," );
			]]> </jsp:scriptlet>
			{"compa":<jsp:expression>compa</jsp:expression>,
			"compb":<jsp:expression>compb</jsp:expression>}<jsp:scriptlet>
			<![CDATA[ }
		]]>
	</jsp:scriptlet>
]
</jsp:root>

步骤3:下面做测试文件flexSrc下新建jsondg.mxml文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
				layout="vertical"
				creationComplete="jsonservice.send()">
	<mx:Script>
		<![CDATA[
			import mx.rpc.events.ResultEvent;
			import com.adobe.serialization.json.JSONDecoder;
			import mx.controls.Alert;

			private function onJSONResult(event:ResultEvent):void
			{
				var data:String=event.result.toString();
				
				data=data.replace(/\s/g, '');
				var jd:JSONDecoder=new JSONDecoder(data);
				dg.dataProvider=jd.getValue();
			}
		]]>
	</mx:Script>
	<mx:HTTPService id="jsonservice"
					url="http://localhost:8080/felxDOC/flexds/json.jsp"
					resultFormat="text"
					result="onJSONResult(event)"/>
	<mx:Panel title="Stock Data "
			  width="100% "
			  height="100% ">
		<mx:DataGrid id="dg"
					 width="100%"
					 height="100%">
			<mx:columns>
				<mx:DataGridColumn dataField="compa"/>
				<mx:DataGridColumn dataField="compb"/>
			</mx:columns>
		</mx:DataGrid>
	</mx:Panel>
</mx:Application>

你可能感兴趣的:(json,jsp,Flex,Google,Adobe)