使用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;
運行就可以顯示以下效果
剩下的就是客戶端自己隨便解釋了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM