分享

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

 A芝兰之室 2017-10-29

看本文章前请 参考 基本探索1 的部分内容

下面介绍如何 从datasnap rest 服务返回 JsonArray 数组

后台代码

[delphi] view plain copy
  1. 声明  
  2.  function GetArr:TJSONArray;  
  3. 实现  
  4.   
  5. function TSMTest.GetArr:TJSONArray;  
  6. var  
  7.   arr:TjsonArray;//TStrArr;  
  8.   I: Integer;  
  9. begin  
  10.  // SetLength(arr,5);  
  11.   arr:=TjsonArray.Create;  
  12.   for I := 0 to 5 do  
  13.   begin  
  14.     arr.Add( '字符串数组'+inttostr(i));  
  15.   end;  
  16.   result := arr;  
  17. 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 自己编码了

前台效果 如图

前台代码

[plain] view plain copy
  1. protected function btnArr_clickHandler(event:MouseEvent):void  
  2. {  
  3.     var read :  ReadDataFromServer  = new ReadDataFromServer;  
  4.     read.onLoadComplete = onArrLoad;  
  5.     read.Load('datasnap/rest/TSMTest/GetArr');    
  6. }  
  7.   
  8. public function onArrLoad(e:Event):void{  
  9.     //delphi datasnap 返回 TjsonArray 才可以,普通array 不行  
  10.     var list:ArrayList = new ArrayList( JSON.decode(e.target.data).result[0]);  
  11.     arrlist.dataProvider = list;  
  12.       
  13.     //edtInt.text = JSON.decode(e.target.data).result[0];  
  14.       
  15. }  

是不是写的很详细...同学你想试试么偷笑



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多