看本文章前请 参考 基本探索1 的部分内容
下面介绍如何 从datasnap rest 服务返回 JsonArray 数组
后台代码
- 声明
- function GetArr:TJSONArray;
- 实现
-
- function TSMTest.GetArr:TJSONArray;
- var
- arr:TjsonArray;//TStrArr;
- I: Integer;
- begin
- // SetLength(arr,5);
- arr:=TjsonArray.Create;
- for I := 0 to 5 do
- begin
- arr.Add( '字符串数组'+inttostr(i));
- end;
- result := arr;
- end;
前台Flex 返回Json数据
{"result":[["\u5B57\u7B26\u4E32\u6570\u7EC40","\u5B57\u7B26\u4E32\u6570\u7EC41","\u5B57\u7B26\u4E32\u6570\u7EC42","\u5B57\u7B26\u4E32\u6570\u7EC43","\u5B57\u7B26\u4E32\u6570\u7EC44","\u5B57\u7B26\u4E32\u6570\u7EC45"]]}
里面有中文 Json 自己编码了
前台效果 如图
前台代码
- protected function btnArr_clickHandler(event:MouseEvent):void
- {
- var read : ReadDataFromServer = new ReadDataFromServer;
- read.onLoadComplete = onArrLoad;
- read.Load('datasnap/rest/TSMTest/GetArr');
- }
-
- public function onArrLoad(e:Event):void{
- //delphi datasnap 返回 TjsonArray 才可以,普通array 不行
- var list:ArrayList = new ArrayList( JSON.decode(e.target.data).result[0]);
- arrlist.dataProvider = list;
-
- //edtInt.text = JSON.decode(e.target.data).result[0];
-
- }
是不是写的很详细...同学你想试试么
|