• idhttpserver接受json数据,并打印


     1 procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
     2 var
     3   tmp: UTF8String; //也可以是 array of AnsiChar; 不能用RawByteString或 widestring
     4   tmpstr: string;
     5   size: Integer;
     6   JSONObject: TJSONObject; // JSON类
     7   i: Integer;
     8   jo: ISuperObject;
     9 begin
    10   size := ARequestInfo.PostStream.size;
    11   SetLength(tmp, size);
    12   ARequestInfo.PostStream.Position := 0;
    13   ARequestInfo.PostStream.ReadBuffer(tmp[1], size); //tmp为array of AnsiChar时为tmp[0]
    14   tmpstr := UTF8ToString(tmp);
    15 
    16   jo := SO(tmpstr);
    17   Memo1.Lines.Add(jo['test'].AsString);
    18 20   kbmMemTable1.Append;
    21   kbmMemTable1.FieldByName('test').AsString := jo['test'].AsString;
    22   kbmMemTable1.Post;
    23 
    24 //  Memo1.Lines.Add(ExtractFilePath(Application.ExeName) + 'testPrint.fr3');
    25 
    26   frxReport1.LoadFromFile(ExtractFilePath(Application.ExeName) + 'testPrint.fr3');
    27   frxReport1.PrintOptions.ShowDialog := false;
    28   frxReport1.ShowProgress := False;
    29   frxReport1.PrepareReport;
    30   frxReport1.Print;
    31 
    32 //  JSONObject := TJSONObject.ParseJSONValue(Trim(tmpstr)) as TJSONObject;
    33 //  for i := 0 to JSONObject.Count - 1 do
    34 //    Memo1.Lines.Add(JSONObject.Pairs[i].JsonString.ToString + '=' +
    35 //      JSONObject.Pairs[i].JsonValue.ToString);
    36 end;

    我用superobject转换json,也可以用系统自带。主要用IdHTTPServer组件接受http请求。

  • 相关阅读:
    Razor中@:和text
    Razor返回HTML字符串
    EPPlus使用
    ASP.NET MVC使用AllowAnonymous特性跳过授权验证
    下拉框获取json文件的数据
    SpringBoot 监听机制
    MybatisPlus Warpper实现复杂查询
    整合MybatisPlus心得
    MybatisPlus性能分析插件
    MybatisPlus物理删除、逻辑删除
  • 原文地址:https://www.cnblogs.com/yangxuming/p/12462459.html
Copyright © 2020-2023  润新知