zoukankan      html  css  js  c++  java
  • 2.Rest Server提供数据库的Json字符串

     Delphi最大的特点是数据库操作便捷。为了能够给App提供数据,这里采用Rest Server后台,然后在用Json文件发送到APP前台。

        1.后台的dataset转换为json。

           这里百度后就可以找到相应的代码,直接可以参考:

    function DataSetToJson(ADataset: TDataSet): string;
    // [{"CityId":"18","CityName":"西安"},{"CityId":"53","CityName":"广州"}]
    var
      LRecord: string;
      LField: TField;
      i: integer;
    begin
      Result := '[';
      if (not ADataset.Active) or (ADataset.IsEmpty) then
        Exit;
      //Result := '';  //2018.4.10
      ADataset.DisableControls;
      ADataset.First;
      while not ADataset.Eof do
      begin
        for i := 0 to ADataset.FieldCount - 1 do
        begin
          LField := ADataset.Fields[i];
          if LRecord = '' then
            LRecord := '{"' + LField.FieldName + '":"' + LField.Text + '"'
          else
            LRecord := LRecord + ',"' + LField.FieldName + '":"' + LField.Text + '"';
          if i = ADataset.FieldCount - 1 then
          begin
            LRecord := LRecord + '}';
            if Result = '[' then
              Result := Result + LRecord
            else
              Result := Result + ',' + LRecord;
            LRecord := '';
          end;
        end;
        ADataset.Next;
      end;
      ADataset.EnableControls;
      Result := Result+']';//rightstr(Result,length(result)-1) ;  //2018.4.10
    end;

        2.为App提供Json函数

          (1).函数定义:

    function GetJsonAccess:string;

           (2)函数的具体代码:

    function TServerMethods1.GetJsonAccess: string;
    begin
      result:=DataSetToJson(ADOQuery1) ;
    end;

            注意事项:这里函数的返回值,可以用TJSONArray,也可以直接用string。我这里用string到是更简洁一些。

            后台运行后,通过浏览器可以访问json结果,如后台地址为:

       http://192.168.3.2:8080/datasnap/rest/TServerMethods1/GetJsonAccess/  ,结果为:

    {"result":["[{"memID":"1","username":"zs","password":"111111","name":"u5F20u4E09"},{"memID":"2","username":"ls","password":"222222","name":"u674Eu56DB"},{"memID":"3","username":"ww","password":"333333","name":"u738Bu4E94"}]"]}

    通过对json的分析,我们可以看到最外层是result字段,内容为一个json数组,然后最里面是数据表中的字段和相对于应的值。通过对该json数据的分析,以便于我们在app中进行遍历。

  • 相关阅读:
    Vue菜单栏权限
    elementUI上传图片回显在编辑
    js数据处理
    js数组去重
    elemetUI中el-checkbox-group经过条件判断选中与不选中的问题
    vue强制更新$forceUpdate()
    SASS @mixin 遇到的坑
    点击锚点浏览器锚点前出现/ 斜杠
    POST 传参
    page.php 引入js文件
  • 原文地址:https://www.cnblogs.com/KKSoft/p/8798665.html
Copyright © 2011-2022 走看看