使用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;
复制代码
运行就可以显示以下效果
剩下的就是客户端自己随便解释了。
posted @ 2019-07-01 21:50  业容天  阅读(157)  评论(0编辑  收藏  举报