读书人

Flex用JSON处置返回的数据

发布时间: 2012-11-25 11:44:31 作者: rapoo

Flex用JSON处理返回的数据

?

?

<?xml version="1.0" encoding="utf-8"?>  <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" layout="absolute"      creationComplete="service.send()">        <mx:Script>          <![CDATA[             import mx.collections.ArrayCollection;             import mx.rpc.events.ResultEvent;             import com.adobe.serialization.json.JSON;              private function onJSONLoad(event:ResultEvent):void             {                 //get the raw JSON data and cast to String                 var rawData:String = String(event.result);                  //decode the data to ActionScript using the JSON API                 //in this case, the JSON data is a serialize Array of Objects.                 var arr:Array = (JSON.decode(rawData) as Array);                  //create a new ArrayCollection passing the de-serialized Array                 //ArrayCollections work better as DataProviders, as they can                 //be watched for changes.                 var dp:ArrayCollection = new ArrayCollection(arr);                  //pass the ArrayCollection to the DataGrid as its dataProvider.                 grid.dataProvider = dp;              }         ]]>      </mx:Script>        <mx:HTTPService id="service" resultFormat="text"                      url="http://weblogs.macromedia.com/mesh/mashedpotato.json"                      result="onJSONLoad(event)" />        <mx:DataGrid id="grid" right="10" left="10" top="10" bottom="10">          <mx:columns>              <mx:DataGridColumn headerText="Service" dataField="src"/>              <mx:DataGridColumn headerText="Title" dataField="title"/>          </mx:columns>      </mx:DataGrid>  </mx:Application>  

又或

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();}
?

?

读书人网 >flex

热点推荐