delphi 使用superobject实现jsonrpc的http远程调用
来源:互联网 发布:windows主进程rundll32 编辑:程序博客网 时间:2024/04/29 16:12
procedure TForm5.Button4Click(Sender: TObject);var O, item: ISuperObject; Strm: TStringStream; result: string; ctx: TSuperRttiContext; student: TStudent;begin //可以参考superobject 的readme.html //json demo https://en.bitcoin.it/wiki/API_reference_%28JSON-RPC%29 // {"jsonrpc":"2.0","method":"fuck","params":["hehe",32,4],"id":"1433813750019"} // O := SO('{"jsonrpc":"2.0","method":"fuck","params":["hehe",32,4],"id":"1433813750019"}'); // O := SO('{"jsonrpc": "2.0", "method": fuck, "params":["hehe",32,4]}'); O := SO( '{"jsonrpc": "2.0", "method": "fuck", "params":["hehe",32,4],"id":"12"}'); Strm := TStringStream.Create(O.AsString); try IdHTTP1.Request.ContentType := 'application/json'; result := IdHTTP1.Post('http://10.0.0.107/json_server/server.php', Strm); Memo1.Lines.Add(result); O := SO(result); Memo1.Lines.Add(O.AsObject.S['result']); O := SO( '{"jsonrpc":"2.0","method":"getstudent","params":[{"id":1,"name":"name","age":123}],"id":"1433813750240"}'); Strm := TStringStream.Create(O.AsString); result := IdHTTP1.Post('http://10.0.0.107/json_server/server.php', Strm); Memo1.Lines.Add(result); O := SO(result); result := O.AsObject.S['result']; Memo1.Lines.Add(result); ctx := TSuperRttiContext.Create; try // json转换为对象 student := ctx.AsType<TStudent>(SO(result)); ShowMessage(student.name); // 对象转换为json O := ctx.AsJson<TStudent>(student); ShowMessage(O.AsString); finally // ctx.Free; end; O := SO( '{"jsonrpc":"2.0","method":"getstudents","params":["xxx"],"id":"1433814568751"}'); Strm := TStringStream.Create(O.AsString); result := IdHTTP1.Post('http://10.0.0.107/json_server/server.php', Strm); Memo1.Lines.Add(result); O := SO(result); Memo1.Lines.Add(O.AsObject.S['result']); for item in O['result'] do begin student := ctx.AsType<TStudent>(item); ShowMessage(student.name); // ShowMessage(item.AsString); end; finally Strm.Free; end;end;
0 0
- delphi 使用superobject实现jsonrpc的http远程调用
- Go语言内部rpc简单实例,实现python调用go的jsonrpc小实例
- delphi superobject循环节点
- Delphi通过调用Http接口实现短信发送的功能
- delphi实现com+远程(包括本地)调用
- delphi的开源json库:superobject,用法简介
- delphi的开源json库:superobject,用法简介
- delphi的开源json库:superobject,用法简介
- Asp.net Application 使用 JsonRPC 调用函数 demo
- spring HTTP invokers 实现远程调用
- jsonrpc python实现
- 使用servlet实现远程调用
- 使用WebService实现远程调用
- 使用servlet实现远程调用
- 使用Spring HTTP invoker进行远程调用
- android jsonrpc 使用实例
- delphi调用java编写的http接口
- ajax框架--jsonrpc-JSON-RPC框架的使用步骤
- Eclipse for Mac 常用快捷键
- swift的struct结构体类型介绍使用
- ArcGIS中利用ArcMap将地理坐标系转换成投影坐标系(从WKID=4326到WKID=102100)
- 对于node.js开发指南中博客案例的修改实现(一)--开发环境搭建
- Higher-Order Primitives (Direct3D 9)
- delphi 使用superobject实现jsonrpc的http远程调用
- 日经社説 20150609 中東に欠かせぬトルコの役割
- Android实战简易教程-第十二枪(ViewFlipper实现幻灯效果)
- 系统架构推荐专题文章及书籍-会持续更新
- ubuntu Linux software install unable to locate package xxx
- UVA LA 7146 2014上海亚洲赛(贪心)
- java ArrayList<String> 与 string数组的相互转换
- 03寻找最小的k个数
- 在ViewPager中使用Fragment嵌套问题