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

【获取YXDJson】

YXDJson最新版本只发布于QDAC官方群,在不固定的时间后,会同步到QDAC的VSN。

【使用示例】

基本操作:

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.

分享到: