由于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 getif length(Args)<1 then        kbmMWRaiseException(KBMMW_ERR_SERVICE_HTTP_URLMISSING,'Missing URL.');

if args[0]='/getdata' thenbegin          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;

运行就可以显示以下效果
剩下的就是客户端自己随便解释了。

转载于:https://www.cnblogs.com/xalion/archive/2012/03/27/2420011.html

使用delphi 开发多层应用(十二)使用kbmMW webserver 返回JSON相关推荐

  1. 使用delphi 开发多层应用(二十一)使用XE5 RESTClient 直接访问kbmmw 数据库

    delphi XE5 出来了,增加了android 的开发支持,另外增加了一个RESTClient 来支持访问REST 服务器. 这个功能非常强大,可以直接使用非常多的REST 服务器.同时也可以支持 ...

  2. 使用delphi 开发多层应用(二十二)使用kbmMW 的认证管理器

    从kbmmw 4.4 开始,增加了认证管理器,这个比原来的简单认证提供了更多的功能.细化了很多权限操作. 今天对这一块做个介绍. 要做一个认证管理,大概分为以下5步: 1.  定义你要保护的资源,一般 ...

  3. iOS 11开发教程(十二)iOS11应用视图始祖——UIView

    iOS 11开发教程(十二)iOS11应用视图始祖--UIView 在Swift中,NSObject是所有类的根类.同样在UIKit框架(UIKit框架为iOS应用程序提供界面对象和控制器)中,也存在 ...

  4. SAP UI5 应用开发教程之六十二 - 基于 OData V4 的 SAP UI5 表格控件使用方法介绍试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  5. SAP UI5 应用开发教程之四十二 - SAP UI5 自带的 Diagnostics 诊断工具使用方法介绍

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  6. SAP UI5 应用开发教程之三十二 - 如何创建一个自定义 SAP UI5 控件试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  7. 《C++游戏开发》笔记十二 战争迷雾:初步实现

    本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9475979 作者:七十一雾央 新浪微博:http:// ...

  8. SAP UI5 应用开发教程之八十二 - 采用 OPA5 开发支持页面跳转的 SAP UI5 集成测试用例试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  9. 20189200余超 2018-2019-2 移动平台应用开发实践第十二周作业

    20189200余超 2018-2019-2 移动平台应用开发实践第十二周作业 服务 Service的声明 Service是Android中的四大组件,使用它一定要在AndroidManifest.x ...

最新文章

  1. JavaScript 高级技巧 Memoization
  2. elasticsearch最大节点数_Elasticsearch选举原理之Bully算法
  3. Jquery Mobile左右滑动效果
  4. [独库骑行之我们穿过草原]巴音布鲁克大草原
  5. Codeforces 1209D Cow and Snacks
  6. Shady 深度学习课程
  7. OSChina 周日乱弹 —— 我叫张一条
  8. JUnit5 TestSuite替代
  9. 使用Listener准备application作用域数据
  10. 11 个 Git 面试题
  11. 深度学习_目标检测 R-CNN 论文笔记
  12. [转载]Qt之获取本机网络信息
  13. idea Spring-boot 项目debug启动过慢 spring debug启动过慢解决办法:已解决
  14. 让闲置的免费邮箱资源创造更大的价值
  15. 换成Everyone还是访问被拒绝的解决办法
  16. 【读书有感】——你只是看起来很努力
  17. Mysql更新百万历史数据
  18. DJ15 8086 中断程序设计
  19. calendar的使用。以及如何获取某月份最后一天的方法
  20. 教师资格证计算机科目有哪些内容,初中教师资格证考试科目及内容有哪些?

热门文章

  1. Spring Boot 多模块项目实践(附打包方法)
  2. 两道JVM面试题,竟让我回忆起了中学时代!
  3. 彻底吃透Web服务器、容器、应用程序服务器与反向代理
  4. Android——怎么在一个 Activity 中销毁另外一个 Activity
  5. Java 洛谷 P1035 级数求和
  6. linux设置脚本开机启动centos7,centos7设置开机启动
  7. 东北能源大数据中心正式成立,一期将建设2.4万平方米数据中心
  8. 赛迪数据:2018年数据中心市场数据
  9. 电池报废征兆,三招辨别该不该换新
  10. linux搭建宝塔重启mysql_宝塔面板安装 重启等命令linux系统重启