您的位置:首页 > 编程语言 > Delphi

Delphi Xe DataSnap Rest + Flex 开发 基本探索2(取得Json 数组)

2014-09-04 15:21 435 查看
看本文章前请 参考 基本探索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];

}


是不是写的很详细...同学你想试试么
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: