zoukankan      html  css  js  c++  java
  • 使用delphi 开发多层应用(十二)使用kbmMW webserver 返回JSON

         由于kbmMW 服务器与客户端交互是使用它的专用数据格式,因此与其它语言及平台相互访问的话就会有兼容问题,

    为了最大化的利用kbmMW 服务器,从kbmMW 4.0 以后,其开始支持JSON 格式传递数据,其实就是可以通过

    Webserver根据客户端的request 来返回对应的JSON串.

        继续利用上次的webserver 的例子,在webservice 里面加一个TkbmMWIBDACQuery和TkbmMWJSONStreamFormat,

    如图:

    同时在代码里面添加以下代码
    function Twebsrv.Performget(ClientIdent:TkbmMWClientIdentity; const Args:array of Variant):Variant;
    var
    mystringstream:Tstringstream;
    MimeType:string;
    Charset:string;


    begin

    // Enter code here to perform function get
    if length(Args)<1 then
    kbmMWRaiseException(KBMMW_ERR_SERVICE_HTTP_URLMISSING,'Missing URL.');

    if args[0]='/getdata' then
    begin
    cx.SQL.Clear;
    cx.SQL.Add('select XH,XM,RQ from rssj');
    cx.Open;
    mystringstream:=TstringStream.Create('',TEncoding.UTF8); //设置为UTF8格式

    try
    cx.SaveToStreamViaFormat(mystringstream,kbmMWJSONStreamFormat1);
    Result:=mystringstream.DataString;
    finally
    mystringstream.Free;
    end;
    Exit;
    end;



    result:=HTTPResponseFromFile(Args[0],MimeType,Charset);

    SetResponseMimeType(MimeType);
    SetResponsecharset(Charset);
    end;
    运行就可以显示以下效果
    剩下的就是客户端自己随便解释了。
  • 相关阅读:
    leetcode 673. 最长递增子序列的个数 java
    leetcode 148. 排序链表 java
    leetcode 98. 验证二叉搜索树 java
    leetcode 29. 两数相除 java
    leetcode 234. 回文链表 java
    Valid Palindrome LeetCode Java
    Single Number II LeetCode Java
    Single Number LeetCode java
    Search in Rotated Sorted Array II LeetCode Java
    Search in Rotated Sorted Array leetcode java
  • 原文地址:https://www.cnblogs.com/xalion/p/2420011.html
Copyright © 2011-2022 走看看