YxdJson高性能JSON处理库简介
原创内容,转载注明出处。
【简介】
YXDJson 采用 QJSON编解码内核,提供类似FastJson的对外使用接口,秉承QJson跨平台高性能的特性,支持D2007,XE6,支持Windows, Android等平台。YXDJson除了提供了QJson拥有的所有功能外,还支持DataSet高速序列化与反序列化。YXDJson还增加了 ParseObjectByName类方法以满足快速对一个JSON字符串部分解码的功能。YXDJson还可以通过更改条件编译选项,实现单文件。
【感谢】
YXDJSON基于swish的QJSON修改,感谢swish,感谢QJson
QJson来自QDAC项目,版权归swish(QQ:109867294)所有
QDAC官方群:250530692
QDAC官方网站:http://www.qdac.cc/
【获取YXDJson】
YXDJson最新版本只发布于QDAC官方群,在不固定的时间后,会同步到QDAC的SVN。
也可以从百度网盘下载: http://pan.baidu.com/s/1kTs0V0j 提取密码: f9q9
SVN:
https://github.com/yangyxd/YxdJson.git
https://github.com/yangyxd/YxdJson
【使用示例】
基本操作:
json := JSONObject.Create; json.put('test', 'string'); json.putDateTime('time', Now); json.put('num', 9999); json.put('float', 8.88); json.putJSON('value', '{"results":[],"status":5,"msg":"AK Illegal or Not Exist:"}'); json.getFloat('float'); json.getString('test'); json.getString('num'); json.getInt('num'); str := json.toString(4); // 缩进4个空格
部分解析:
const STJSONSTR = '{"carno":"京A12345","city":0,"cjhm":"","ctype":"其他","cubage":0,'+ '"devno":"916704270865","dphone":"13058126562","driver":"小明","dw":32,"h":0,'+ '"id":2,"laddr":"","lat":0,"lbstime":"2014-07-03 19:38:36","length":25,"line"'+ ':"河北,内蒙古,吉林,上海","link":"","lng":114.045173888889,"lphone":"","ltel":'+ '"","public":false,"remark":"","sno":"","state":3,"time":"2014-07-22 08:53:45","w":0,"yyzs":""}'; procedure TForm2.Button10Click(Sender: TObject); var json: JSONObject; phone: String; begin json := JSONObject.parseStringByName(STJSONSTR, 'dphone'); try phone := json.getString('dphone'); finally json.Free; end; end;
更多示例请下载我们的Demo.