导航:
论坛 -> 发布控件
斑竹:liumazi,ruralboy
作者:
2014/5/4 20:53:34
标题:
QJSON-跨平台的JSON解析器
浏览:16206
加入我的收藏
楼主:
速度我只跟系统的和RTC的比较了下,明显更快。 QJSON的接口和QXML保持大体一致。 http://bbs.2ccc.com/topic.asp?topicid=453743 具体不多说,需要的拿去慢慢体会。 有问题请在下面跟帖报告,或加入QDAC官方群及时反馈。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/4 21:01:01
1楼:
实测IO结果: 生成一个包含100万个结点的JSON对象,用时312ms,保存后文件大小为24.5 MB,用时1123ms,保存速度为21.89MB/S 加载上面生成的JSON文件,用时1061ms,速度:23.16MB/S
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
star5 (星五)
★☆☆☆☆
-
盒子活跃会员
2014/5/4 21:43:44
2楼:
顶
----------------------------------------------
博客 - http://offeu.com 脚本模型 - http://webpascal.com 需要短信接口的请联系我,可发行业与营销内容。
作者:
2014/5/4 21:50:34
3楼:
好~!
----------------------------------------------
-
作者:
2014/5/4 22:07:25
5楼:
顶起,连发两个好东西啊!
----------------------------------------------
-
作者:
iny (盒子)
★☆☆☆☆
-
盒子活跃会员
2014/5/4 23:07:28
6楼:
非常好的东东,强烈支持,Delphi开源的好东东太少了
----------------------------------------------
-
作者:
sqlnew (sqlnew)
★☆☆☆☆
-
盒子活跃会员
2014/5/5 0:18:28
7楼:
好东西一定要支持
----------------------------------------------
-
作者:
2014/5/5 2:18:46
8楼:
不错,还是开源的,强烈支持。
----------------------------------------------
-
作者:
szlbz (秋风)
★☆☆☆☆
-
盒子活跃会员
2014/5/5 5:54:15
9楼:
支持原创
----------------------------------------------
-
作者:
2014/5/5 8:39:10
10楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
SPAM
作者:
2014/5/5 9:24:34
11楼:
不得不顶啊
----------------------------------------------
-
作者:
2014/5/5 10:14:29
12楼:
建议楼主搞个类似gson的JsonReader和JsonWriter,特别实用。
----------------------------------------------
-
作者:
2014/5/5 10:39:20
13楼:
To 12楼 meaisu (meaisu) ========== 整那玩意干嘛?QJSON支持RTTI,可以直接将对象或结构体保存到JSON中,也可以直接从JSON中还原。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/5 11:21:47
14楼:
JsonReader和JsonWriter我具体没看,12楼可以加群介绍下,看看是否真的有那种需要。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/5 11:42:04
15楼:
这是java里面的功能,我用过,感觉比较好用。其实还有一个类,叫JsonStream,跟delphi里面的Stream差不多。 JsonWriter应用环境是这样的:比如服务器端,你要给客户端发送一个很庞大的json,这时候我总不能在服务器端先生成json对象,再ToString吧?这会很占内存,gson的做法是JsonWriter连接JsonStream,JsonStream连接SocketStream,这时候每写入一个元素就直接发送到了客户端,而服务器不会吃内存。 JsonReader也是个挺好的东西,类似delphi的StreamReader,有个peek函数,可预知下一个元素是什么类型,比如BeginArray、EndArray、BeginObject、EndObject、Name、String、Number、Boolean、Null,EndDocument等。在读取大json文件、流的时候可以不占用内存,按需读取。
----------------------------------------------
-
作者:
2014/5/5 11:52:14
16楼:
我自己写了个dbx驱动,用http协议,服务器端是tomcat+java,数据是json格式。服务器端就利用了gson库,感觉真好用,所以推荐有技术的人能在delphi下面搞一个出来,也让我们写代码简单点。
----------------------------------------------
-
作者:
2014/5/5 13:07:27
17楼:
明白了
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/5 21:06:14
18楼:
to 16楼 meaisu (meaisu) ========== 暂时QJSON实现这个还是有一定的困难,您的那种需求我觉得没必要那么处理。你为什么不这么处理: {"record1":{"id":100,"name":"name1"}} {"record2":{"id":200,"name":"name2"}} {"record3":{"id":300,"name":"name3"}} 这样子每条记录一个Json对象,客户端可以循环加载,开销也小,服务器端开销也小,对吧。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
ztdcy (ztdcy)
★☆☆☆☆
-
普通会员
2014/5/5 21:16:32
19楼:
支持原创。支持开源。
----------------------------------------------
-
作者:
2014/5/5 21:33:45
19楼:
to 16楼 meaisu (meaisu) ========== 按照上面的思想,给你写了一个简单的例子供你参考: procedure TForm1.Button7Click(Sender: TObject); var AStream:TMemoryStream; AJson:TQJson; S:QStringW; procedure ParseJsonBlock(AStream:TStream); var c:QCharW; ABuilder:TQStringCatHelperW; ABlockCount,I,ACount:Integer; begin ABuilder:=TQStringCatHelperw.Create; try ABlockCount:=0; repeat if ABlockCount=0 then begin repeat AStream.ReadBuffer(c,SizeOf(QCharW)); ABuilder.Cat(c); until c='{'; Inc(ABlockCount); end; AStream.ReadBuffer(c,SizeOf(QCharW)); if c='{' then Inc(ABlockCount) else if c='}' then Dec(ABlockCount); ABuilder.Cat(c); until ABlockCount=0; AJson.Clear; AJson.Parse(ABuilder.Value); finally ABuilder.Free; end; end; begin AStream:=TMemoryStream.Create; AJson:=TQJson.Create; try AJson.DataType:=jdtObject; S:='{"record1":{"id":100,"name":"name1"}}'#13#10+ '{"record2":{"id":200,"name":"name2"}}'#13#10+ '{"record3":{"id":300,"name":"name3"}}'#13#10; AStream.Write(PQCharW(S)^,Length(S) shl 1); AStream.Position:=0; ParseJsonBlock(AStream); ShowMessage(AJson.AsJson); ParseJsonBlock(AStream); ShowMessage(AJson.AsJson); ParseJsonBlock(AStream); ShowMessage(AJson.AsJson); finally AStream.Free; AJson.Free; end; end;
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/5 21:48:30
20楼:
按块解析JSON效果
此帖子包含附件: 大小: 378.6K
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/5 22:49:06
21楼:
将上面的代码封装到QJSON里了,代码简化为 AJson.Clear;//清除末次的解析结果 AJson.ParseBlock(AStream,teUnicode16LE); 即可解析一块。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/6 8:07:51
22楼:
不用也支持一下
----------------------------------------------
一卡通专家的中专家www.cnduh.com
作者:
2014/5/6 10:23:51
23楼:
解析下面这个json文件失败,我用lkjson是解析成功的,并且很快,读取都成功。
----------------------------------------------
-
作者:
2014/5/6 11:29:25
24楼:
to 23楼 ander5115 (Ander) ========== 已解决,请更新下就好。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/6 14:24:44
25楼:
支持,用过superobject解析JSON,不知道相比怎么样
----------------------------------------------
-
作者:
2014/5/6 15:31:19
26楼:
to 25 楼 zrygo (大飞) ========== 据群里的朋友讲要比他快
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/6 15:37:05
26楼:
to 24楼,我测试了一下,解析速度还是有问题,我用lkjson只需要170毫秒左右,用你的类解析需要大约3秒。改进的空间还很大啊。
----------------------------------------------
-
作者:
2014/5/6 18:15:58
27楼:
to 26楼 nder5115 (Ander) ========== 我下载lkjson看看,你是在XE6还是2007下的环境下?
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/6 18:44:27
28楼:
lkjson是在2009下
----------------------------------------------
-
作者:
2014/5/6 18:58:12
28楼:
加载一个24.5MB的JSON文件,物理机是XE6,虚拟机是Delphi2007,测试结果如下: XE6: QJson加载用时:1264ms,速度:19.44MB,lkJson加载用时:5054ms,速度:4.86MB。 Delphi 2007 QJson加载用时:3595ms,速度:6.83MB,lkJson加载用时:5538ms,速度:4.43MB 附图是Delphi 2007的测试结果
此帖子包含附件: 大小: 41.5K
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/6 18:59:53
29楼:
下面这个图是XE6的:
此帖子包含附件: 大小: 59.4K
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/6 21:55:48
30楼:
QJSON的Parse函数修改了下行为,保持与QXML一致
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/7 0:27:33
31楼:
楼主牛人造福delphier,太感谢了!给你点320个赞!
----------------------------------------------
-
作者:
xgwzw (hanry)
★☆☆☆☆
-
普通会员
2014/5/7 20:19:53
32楼:
Demo 编译报错 AJson.AddRecord 这个函数 报参数不匹配
----------------------------------------------
-
作者:
2014/5/8 15:00:25
33楼:
我那个json文件的关键不是节点有多么巨大,而是某几个节点的string值非常长,所以在我这侧到是qjson比较慢,lkjson比较快。巨多节点的我还真没怎么测过,因为我这用不到。
----------------------------------------------
-
作者:
2014/5/9 13:16:55
34楼:
to 33楼 ander5115 (Ander) ========== 感谢反馈,问题已修正,新版带BOM的UTF-8编码JSON加载比lkJSON快,Ansi编码由于需要转码,要比lkJson稍慢,实际用于解析时间要比lkJson快。 加载内容为一个10MB的QJSON长字符串 Delphi 2007虚拟机测试: 解析速度测试:QJson=80ms,lkJson=120ms 加载速度测试(ANSI):QJson=180ms,lkJson=131ms 加载速度测试(UTF8):QJson=140ms,lkJson=130ms XE6物理机测试: 解析速度测试:QJson=78ms,lkJson=156ms 加载速度测试(ANSI):QJson=156ms,lkJson=156ms 加载速度测试(UTF8):QJson=109ms,lkJson=156ms
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/9 13:19:58
35楼:
盒子快成蜗牛了,最新版: * 修正了与D2007的兼容性。 * 优化了BuildJsonString代码,加速超长字符串的处理速度,解决盒子网友ander5115报告长字符串时,加载速度慢的问题。 * 解析出错时,明确出错的行列及行的内容。 * 数组成员如果有名称,编码时忽略。 * SetValue时,如果DataType为jdtUnknown,则会自动检测内容。 * 合并了不得闲的XE下,ShortString的处理代码 + 构造函数直接创建名称和值对的组合。 + 加入了FreeObject函数来替代原来的DisposeOf和Free的处理,减少条件编译代码。 + 直接调用Add添加动态数组元素时,加入Variant和TQJson类型的支持。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/9 20:23:04
36楼:
进一步优化调整后的QJSON,速度比上一版本有更好的提升。 另外修正了解析\uxxxx编码时转义存在的问题
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/9 20:24:34
37楼:
优化后的QJSON与lkJSON测试速度比较(在XE6下编译)
此帖子包含附件: 大小: 180.3K
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/10 11:18:30
38楼:
赞一个! 希望能更新到 sourceforge方便下载最新版本
----------------------------------------------
-
作者:
2014/5/10 21:00:35
39楼:
试了下速度还可以,比superobject快一些(解析10万次简单文本,superobject用1.8秒,这个用1.4秒多),但superobject的接口方式,易用些
----------------------------------------------
-
作者:
2014/5/11 9:15:41
40楼:
除了速度快,更重要的是QJSON跨平台,支持Win32/Win64/Andriod/iOS/OSX,所有XE6支持的平台它都支持
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/11 10:37:37
41楼:
看那么多人用superobject,我就做了一个测试程序来全面测试下QJSON/lkJSON/SuperObject的速度,结果如下,从中可以看出SuperObject主要的弱项在保存成JSON格式时,比lkJSON和QJSON根本不在一个数量级。而其它测试也表明QJSON在各项的解析上均要强于其它两个对手。
此帖子包含附件: 大小: 501.4K
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/11 10:39:26
42楼:
比较程序,源码在QDAC官方QQ群共享,需要的可以加群下载。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/13 8:24:32
43楼:
例行更新,加入了OnQJsonCreate和OnQJsonFree两个事件回调来支持外部的对象池管理
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/14 8:29:45
44楼:
收藏先
----------------------------------------------
-
作者:
2014/5/14 11:02:46
45楼:
+ 增加CopyIf/DeleteIf/FindIf函数 * 修正了允许未命名结点编码的问题 * 修正了ForcePath时非数组类型的结点允许按数组访问的问题
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/14 14:48:38
46楼:
支持,如果像superjson 那样做成接口的样子可能用起来更方便
----------------------------------------------
-
作者:
2014/5/15 8:04:46
47楼:
支持lz。支持开源!
----------------------------------------------
-
作者:
2014/5/15 12:54:35
48楼:
2014.5.15 更新 ========== 修正了属性Path取值不对的问题
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/16 14:41:03
49楼:
2014-5-16 更新 ========== * 优化了ItemByPath/ItemByName/IndexOf方法,使用哈希函数来加快查找速度
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/16 15:30:50
50楼:
TO meaisu (meaisu): JsonStream在 Diocp开源项目里有 实现了编码和解码 用的superobject
----------------------------------------------
五毒公主 认准了delphi ,没经历学更多 就努力成功delphi高手吧
作者:
2014/5/19 14:42:56
51楼:
2014-5-19更新 ========== * 修正了日期时间类型编码时的小Bug
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/22 6:26:53
52楼:
楼主,刚才看到更多的JSON库,可否比较? http://blog.synopse.info/post/json-benchmark-delphi-mormot-superobject-dwsjson-dbxjson
----------------------------------------------
-
作者:
2014/5/23 9:41:31
53楼:
没啥不可以比较的吧,你可以测试下。不过大家都同SuperObject进行了比较,你可以以它为基准,然后简单的对比看看。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/25 9:25:03
54楼:
//我想将其改造成superobject方式,试了下,但发现节点多时(测10万节点)很慢,主要慢在ItemByName TQJson = class private function GetS(const path: string): string; procedure SetS(const path, Value: string); public property S[const path: string]: string read GetS write SetS; end; // function TQJson.GetS(const path: string): string; begin Result := ValueByName(path, ''); end; procedure TQJson.SetS(const path, Value: string); var AChild: TQJson; begin AChild := ItemByName(path); if Assigned(AChild) then begin AChild.Value := Value; end else begin Add(path, Value, jdtString); end; end; //如10万节点,几乎计算不下来,约180秒,慢在ItemByName。另外,包括ValueByName都慢,如果用在服务器上,估计把cpu全占了
----------------------------------------------
-
作者:
2014/5/25 9:36:00
55楼:
--这是测试代码 procedure TForm1.Button1Click(Sender: TObject); var AJson: TQJson; I: Integer; T: Cardinal; begin AJson := TQJson.Create; try T := GetTickCount; for I := 0 to 10000 * 10 do begin AJson.S['abc' + IntToStr(i)] := 'hello' + IntToStr(i * 10); end; T := GetTickCount - T; { T := GetTickCount; for I := 0 to 10000 * 10 do begin AJson.S['abca']; end; T := GetTickCount - T; } mmResult.Clear; mmResult.Lines.Add('添加100,000个结点用时:' + IntToStr(T) + 'ms'); finally AJson.Free; end; end;
----------------------------------------------
-
作者:
2014/5/25 16:09:38
56楼:
QJson本身没有为这种用法做优化,如果使用这种用法,最方便的方式是为TQJson加入哈希支持,需要在Add(AName...)的几个函数在IndexOf函数中加入哈希处理,但这个个人不倾向于改造成这个样子,如果需要,你可以联系我,我将哈希表的相关代码给你,然后你自己简单改造下。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/25 17:39:03
57楼:
谢谢,我这段时间刚好有空,把superoject,xsuperobject,dwsJson和楼主的Qjson测了下,个人觉得从语法上superoject好用些,我把dwsJson,QJson改成superoject的样子,试了下,没仔细研究,发现dwsJson,QJson都会慢,看了下代码,大概明白,主要数据存储结构原因。如果跨平台QJson还是不错的。xsuperobject慢,而且bug及内存泄露多。superoject和dwsJson只能用在windows下
----------------------------------------------
-
作者:
2014/5/25 18:46:33
57楼:
我做了一个辅助工具类,继承了TQJson,然后重载了那几个方法。测试添加10万记录用时在100ms左右
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/25 18:51:31
58楼:
好的,什么时候发上来,我试一下。原来,如果节点多时,的ValueByName就会很慢
----------------------------------------------
-
作者:
2014/5/25 20:20:24
58楼:
to 57楼 hq200306 (200306) ========== 上传下我写的参考代码和测试代码,因为我不用SuperObject,所以只简单实现了几个。用你测试用例的写法,速度大约是SuperObject的3-5倍之间。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/25 20:22:39
59楼:
S:String; AJson: TSuperObjectHelper; AJson2:TQJson; ASuper:ISuperObject; I: Integer; T,TS: Cardinal; begin AJson := TSuperObjectHelper.Create; try T := GetTickCount; for I := 0 to 10000 * 10 do begin S:='abc' + IntToStr(i); AJson.S[S] := 'hello' + IntToStr(i * 10); AJson.S[S]; // if AJson.IndexOf(S)=-1 then // ShowMessage('Not found'); end; T := GetTickCount - T; ASuper:=TSuperObject.Create(); TS:=GetTickCount; for I := 0 to 10000 * 10 do begin S:='abc' + IntToStr(i); ASuper.S[S] := 'hello' + IntToStr(i * 10); ASuper.S[S]; end; TS := GetTickCount - TS; ShowMessage('QJson添加100,000个结点用时:' + IntToStr(T) + 'ms,SuperObject='+IntToStr(TS)+'ms');
此帖子包含附件: 大小: 39.1K
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/25 21:01:29
60楼:
对简单类型测了下,速度确实不错。我还没有对数组及对象类型测试,一旦有别的发现,将反馈,superobject的getD是double,getC是Currency,这都是小问题,想用的人自己改改
----------------------------------------------
-
作者:
2014/5/25 21:26:39
61楼:
to 60楼 hq200306 ========== 哈哈,我只是写了个例子,没具体去查superobject的接口,欢迎加群讨论反馈。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/25 21:34:56
62楼:
superobject一些细节,例如i=AJson.I['xxx'],当'xxx'不存在时,则i=0,这些小问题,用TQJson的开发者估计要自己掌握,我是把代码改为 function TQJson.GetAsInt64: Int64; begin if DataType = jdtInteger then Result := PInt64(FValue)^ else if DataType in [jdtFloat, jdtDateTime] then Result := Trunc(PExtended(FValue)^) else if DataType = jdtBoolean then Result := Integer(AsBoolean) else if DataType = jdtString then Result := Trunc(AsFloat) else if DataType = jdtUnknown then Result := 0 else raise Exception.Create(Format(SBadConvert, [JsonTypename[Integer(DataType)], 'Numeric'])) end;
----------------------------------------------
-
作者:
2014/5/27 20:57:30
63楼:
2014-5-27 ========= + TQHashedJson对象,继承自TQJson,但加入了哈希表来优化通过名称访问节点的速度,要实现类似于SuperObject类似的接口,请继承自它,以便保证相关按名称访问的方法的速度得到充分优化
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/5/27 22:30:10
64楼:
1.觉得TQHashedJson.Add要按下面的写法 function TQHashedJson.Add(AName: QStringW): TQJson; begin Result := inherited Add(AName); Result.FNameHash := HashOf(PQCharW(AName), Length(AName) shl 1); FHashTable.Add(Pointer(Count - 1), Result.FNameHash); end; 2. function CreateJson: TQJson; override; 改为 function CreateJson: TQJson; inline; 要快一些
----------------------------------------------
-
作者:
2014/5/27 22:52:57
65楼:
楼主是不是改乱了,执行演示程序的第一个按键都有报错
----------------------------------------------
-
作者:
2014/5/28 8:36:09
66楼:
@hq200306 ========== 不好意思,合并代码时确实改错了。Add函数时,添加重了造成的。 你反馈的第一个问题是对的,是我马虎了。 第二个问题主要是因为要子类要重载,所以没法用inline,要不确实要快一些。 问题已经改掉了
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/6/12 9:34:50
67楼:
楼主,函数ItemByPaht返回错误 {"A":[1,2,3,5],"B":97.64,"C":{"A":"1234zxc","B":9548.25664}} 取A.[1]应该返回2 结果返回[1,2,3,5] 好像凡是涉及到数组的都有问题
----------------------------------------------
-
作者:
2014/6/12 17:25:20
68楼:
我测试了下,好象没你说的问题: AJson.Parse('{"A":[1,2,3,5],"B":97.64,"C":{"A":"1234zxc","B":9548.25664}}'); ShowMessage(AJson.ItemByPath('A[1]').AsString); 得到的结果是2
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/6/14 8:44:53
69楼:
恩,我又测试了下 多打了个. 应该用A[1] 而不是A.[1] :)
----------------------------------------------
-
作者:
2014/6/14 12:21:27
70楼:
楼主牛逼,采用楼主的方案,后台用qjson,手机端用rest接收qjson处理,完美应用json通讯。又快又好!
----------------------------------------------
-
作者:
2014/6/17 13:59:09
71楼:
2014.6.17 ========= + AsFloat加入对NaN、±∞的检查,避免写入 + AsVariant加入对varNull,varEmpty,varUInt64的支持
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/6/17 18:28:37
72楼:
支持楼主,辛苦了!
----------------------------------------------
这个世界上还有很多比钱更重要的东西,比如说意大利面---加菲猫
作者:
2014/6/22 8:23:43
73楼:
* 重新设计了RTTI相关函数接口及实现 + RTTI增加Invoke函数,支持通过Json支持调用相关函数 【注】 RTTI相关函数不支持早期的Delphi版本
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
bdl1 (bdl1)
▲▲▲▲▲
-
普通会员
2014/6/22 9:13:05
74楼:
太强大了!
----------------------------------------------
-我的博客
作者:
2014/6/24 15:07:20
75楼:
* 修正了新版在2010下无法编译的问题
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/6/24 20:21:16
76楼:
mark
----------------------------------------------
QQ 2697670447
作者:
2014/6/24 20:36:47
77楼:
请教楼主一个问题,D7自带的XML功能很好用,但是我没找到,到底是哪里在进行基础parser的功能呢?我所看到的都是XML的使用接口。
----------------------------------------------
只有偏执狂才能生存!
作者:
2014/6/25 9:06:15
78楼:
@77楼 nervergrief ========== 我没有细研究,它本质上是调用的MSXML,查找下MSXML的帮助吧
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/6/26 8:53:30
79楼:
2014-6-26 ======== * 修正了ToRtti.ToRecord子函数处理日期类型时的错误(感谢群友飞鸿大量的RTTI建议和测试) + Encode编码时,加入了ADoEscape参数来决定是否转义中文内容
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/7/1 19:21:07
80楼:
2014-7-1 ======== * 修正了AsString属性的行为,在内容为空值时的行为,改为返回空字符串
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/7/7 10:08:23
81楼:
2014.7.6 ========= + ToRtti加入对静态数组类型的支持 * 修正了Assign时复制了当前结点名称的问题
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/7/16 9:41:37
82楼:
2014.7.16 ========= * 修正了GetPath时,未初始化结果字符串造成Path属性可能出错的问题(音儿小白报告)
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
dunken (dunken)
★☆☆☆☆
-
盒子活跃会员
2014/7/18 8:45:57
83楼:
顶
----------------------------------------------
-
作者:
2014/7/18 16:22:11
84楼:
技术贴 mark一下
----------------------------------------------
-
作者:
2014/7/28 9:41:07
85楼:
2014.7.28 ========= * 修正了ToRtti如果源类型是日期时间类型,而JSON为null时解析出错的问题(恢宏报告) * 修改ToRecord参数类型为var,而不是const(恢宏报告) 源码请直接SVN吧
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/7/31 9:11:22
86楼:
2014.7.31 ========= * 修正了解析出错时,如果行过长,系统异常无法完整显示的问题(音儿小白报告) * 修正了解析时可能陷入死循环的问题(音儿小白报告) * 修正了出现异常时,异常行提示重复的问题
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/8/15 11:26:40
87楼:
2014-8-15 ========= * 修正了Add函数自动检测内容类型时,添加特定格式如11,23时解析出错的问题(Tuesday报告) * 清理了Hint和Warning 新版源码请在SVN下载
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/8/27 19:06:17
88楼:
2014.8.27 ========= * 修正了解析数组或对象结束符前有行注释时出错的问题(阿木报告) 最新版下载请到QDAC官方网站:http://www.qdac.cc/?page_id=139
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/9/11 16:14:30
89楼:
2014-9-11 ======== * QString修正了LoadTextA/LoadTextW加载带有BOM头的空的Utf8流时出错的问题 * QJSON修正了从流或文件中加载空白JSON数组和对象时出错的问题(恢弘报告) * QJSON修改直接将非对象或数组值保存到流中的策略(麦子仲肥报告): 1、如果JSON结点的名称已经指定,则保存为对象的一个子对象; 2、如果未指定名称,且类型为未知或为jdtNull,则不保存任何内容
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/10/30 10:37:37
90楼:
2014-10-30 ========== + 增加Remove、Detach、AttachTo、MoveTo函数及允许重命名 更新详细信息:http://www.qdac.cc/?p=1052
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
bdl1 (bdl1)
▲▲▲▲▲
-
普通会员
2014/10/30 12:32:08
91楼:
太强了!
----------------------------------------------
-我的博客
作者:
2014/10/30 19:28:50
92楼:
2014.10.30 ========== * 修正了移动节点时未检查自己是否是目标的父结点问题 更新详情:http://www.qdac.cc/?p=1069
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/10/31 9:36:38
93楼:
顶楼主,不知楼主有没有和C++实现的一些JSON解析器作过性能比较呢,像RapidJson的速度非常的快,下面是他的一个BenchMark: https://code.google.com/p/rapidjson/wiki/Performance 楼主能不能根据这个用QJson作一些性能比较呢
----------------------------------------------
-colin and yoyo http://blog.csdn.net/linzhengqun
作者:
2014/10/31 9:56:02
94楼:
没有对比过C++的,你可以编译对比下。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/10/31 9:57:26
95楼:
嗯,我找个时间,按RapidJson的BenchMark对比一下。希望你这个越搞越好
----------------------------------------------
-colin and yoyo http://blog.csdn.net/linzhengqun
作者:
2014/10/31 10:53:59
96楼:
我刚才简单加载了QJson示例目录下的性能测试文件(Preferences.txt,文件大小9.81MB),QJson用时32位下是78ms,64位是94ms,RapidJson用时是140ms(64位,Release模式下,需要修改一处头文件定义,32位下Borland C++编译器无法编译RapidJson,Debug模式下是250ms),其它的性能测试你再详细测试对比下。 详细的测试过程及代码放到了QDAC官网上了:http://www.qdac.cc/?p=1074
此帖子包含附件: 大小: 96.4K
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/11/1 6:49:36
97楼:
这个要顶起来
----------------------------------------------
-
作者:
2014/11/4 0:13:37
98楼:
这两天有些事情,没有时间进行测试,刚才测试了一下,数据上和楼主有些差别,我先贴我的测试代码: #include <stdlib.h> #include <stdio.h> #include <string> #include <assert.h> #include <windows.h> #include "stdafx.h" #include "rapidjson/document.h" // rapidjson's DOM-style API using namespace rapidjson; using namespace std; char* loadFromFile(const char *filePath) { long size = 0; FILE *fp = fopen(filePath, "rb"); fseek(fp,0,SEEK_END); size = ftell(fp); fseek(fp,0,SEEK_SET); char* p =(char*)malloc(size+1); fread(p, 1, size, fp); p[size] = '\0'; fclose(fp); return p; } int _tmain(int argc, _TCHAR* argv[]) { unsigned long tick = ::GetTickCount(); char *jsonstr = loadFromFile("c:\\Users\\Administrator\\Desktop\\code\\CppTest\\Debug\\Preferences.txt"); rapidjson::Document d; d.Parse<0>(jsonstr); size_t errOffset = d.GetErrorOffset(); assert(!d.HasParseError()); tick = ::GetTickCount() - tick; printf("time=%d ms", tick); free(jsonstr); return 0; } 测试环境: VS 2012 32位程序 release版:time=47 ms Delphi 2007 32位程序::QJson=499 ms Delphi版我用的是演示的函数:LoadTest: 测试结果:QJson=499ms,lkJson=562ms,SuperObject=1279ms,YJson=624ms,T1/T2=0.89,T1/T3=0.39,T1/T4=0.8 之所以会出现这么差异,我分析是以下几个: 1. Delphi版本过低,如果用XE6可能会好一点。 2. 楼主的C++用的是Borland C++,此编译器恐怕和VS 2012的优化能力有一定的差距。 3. 楼主的C++测试代码中用到了转Utf-8的代码,这里可能也有一定的性能消耗,且不是RapidJson的消耗
----------------------------------------------
-colin and yoyo http://blog.csdn.net/linzhengqun
作者:
2014/11/4 9:02:39
99楼:
2007下,QString给映射到WideString了,性能会差很多。QJson真正的性能在2009以后才能体现,如果是2007以前的版本,推荐用音儿小白改的YxdJson,它基于QJson的算法,按2007的AnsiString字符串实现的,速度明显强大不少。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/11/4 10:08:19
100楼:
Preferences.txt是qjson自带的,约10M吧,我在xe7上测了,qjson是78毫秒,superObject也差不多
----------------------------------------------
-
作者:
2014/11/6 16:58:06
101楼:
2014.11.6 ========== * 修正了FromRtti时集合类型元素添加结点时,AName误写成Name造成结点未命名的问题(阿木报告) + 新增IntByPath,IntByName,BoolByPath,BoolByName,FloatByPath,FloatByName,DateTimeByPath, DateTimeByName函数,以简化判断编程(FreeSpace8建议)
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/11/10 14:09:06
102楼:
2014.11.10 ========== * 修正了FromRtti/ToRtti在处理TCollection类型时存在的问题(阿木) 更新详情:http://www.qdac.cc/?p=1200
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/11/10 17:36:38
103楼:
qjson里的过程 procedure ToObject; 这行代码的AChild没初始化 (AObj as TStrings).Text := AChild.AsString
----------------------------------------------
-
作者:
2014/11/10 19:56:14
104楼:
感谢 hq200306 报告此问题,新版已经修正
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/11/20 17:06:30
105楼:
2014.11.20 ========== + 加入AsBytes属性,以支持二进制数据类型,默认实现直接使用的十六进制字符串表达,上层可以重载OnQJsonEncodeBytes和OnQJsonDecodeBytes事件来替换为自己的实现(如ZLib+Base64) + 加入ValueFromStream/ValueFromFile/StreamFromValue/StreamFromFile函数 更新详情:http://www.qdac.cc/?p=1297
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/11/20 18:15:01
106楼:
刚下qdac3-code-170.zip,在xe7下,测了下AJson.Parse处理速度,十几个节点,循环20万次,处理速度比6月时的版本慢10%-20%,原来比superobject快10%-20%,现在相差无几
----------------------------------------------
-
作者:
2014/11/20 20:24:14
107楼:
我重新测试了下,qjson没问题,两个项目的编译选项“Release”和“Debug”引起的,不好意思
----------------------------------------------
-
作者:
2014/11/21 8:56:40
108楼:
:)
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/11/26 17:02:36
109楼:
2014.11.25 ========== * 修改了ItemByPath的代码,支持按索引顺序来访问jdtObject类型的子成员 2014.11.24 ========== * 修正了ToRtti.FoArray的行为,在子类型名字未找到时,提示异常
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/12/8 11:24:43
110楼:
2014.12.5 ========= * 修正了由于QString.ParseNumeric函数引入的负的浮点数解析错误,建议立即更新
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/12/13 12:58:17
111楼:
2014.12.13 ========== + 新增HasChild函数来判定指定路径的子结点是否存在(阿木建议),如果存在,则直接返回True及相应的子结点地址 更新详细信息请访问官网查看。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/12/23 21:44:42
112楼:
{ "title": "企业所得税月(季)度预缴纳税申报表(A类)", "subtitle":"", "sqlfile":"qysdsyjdyjnssbb_a", "notefile": "", "notetext":"最近一季度申报数据", "yxbz" :"Y", "datafrequency":"JiDu1" //每季度的第1月 } 因为属性值后有注释“//每季度的第1月”,QJson解析出错,去掉注释就正常。 但SuperJson解析不会出错。 建议QJson加强对注释的支持。 建议支持//、 /* */ 、 { }等形式的注释,注释可为单独一行或数行,也可在某个属性值后面。
----------------------------------------------
-
作者:
2014/12/24 14:15:24
113楼:
@112楼 ====== 此问题已解决,请更新QJson到最新2014-12-24日版本。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2014/12/24 14:39:29
114楼:
014.12.24 ========== * 修正了解析Json中包含注释时,处理不够全面的问题(kylix2008报告)
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2015/1/3 21:06:37
115楼:
2015.1.3 ========= * SaveToStream/SaveToFile 增加了一个ADoFormat参数,以便控制是否格式化(恢弘、阿木建议)
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2015/1/3 23:29:08
116楼:
新年第一个上榜!
----------------------------------------------
不喧哗 自有声 心静 思远 志行千里
作者:
2015/1/4 10:11:08
117楼:
2015.1.4 ========= * 修改了 ItemByName 的部分代码,修正了没有正确处理 JsonCaseSensitive 标记的问题,造成忽略大小写无效的问题(阿木) * 修正了 ItemByName 对数组下标处理的逻辑错误 * 修正了 ItemByPath 不支持多维数组的问题 更新详情:http://blog.qdac.cc/?p=1665
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2015/1/5 11:35:00
118楼:
2015.1.5 ========= * 修正了IsChildOf的一处判断错误,造成可能发生AV异常
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2015/1/13 9:22:15
119楼:
2015.1.13 ========== * 修正了 TQHashedJson 的 IndexOf 未正确处理大小写的问题 * 修正了 TQHashedJson 在解析完成后未正确重新计算哈希值的问题(阿木报告) 更新详情:http://blog.qdac.cc/?p=1720
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2015/1/13 22:33:04
120楼:
* 修正了解析名称后包含空格时名称也被解析到名称中的问题
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2015/1/13 22:43:57
121楼:
楼主有神人!这么大精力,估计有三头六臂吧,同时弄这么多项目
----------------------------------------------
-
作者:
2015/1/13 23:06:41
122楼:
顶一下
----------------------------------------------
-
作者:
2015/1/15 9:38:39
123楼:
@121楼 hq200306 ========== 实际上都隶属于 QDAC 项目,只是这个子组件而已
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2015/1/26 17:26:57
124楼:
2015.1.26 ========= + 增加了 Delete 函数的一个无参数重载用于删除结点自身
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2015/2/2 10:12:13
125楼:
2015.2.2 ======== * 修改了解析和编码的行为,兼容名称为空字符串的JSON代码(感谢 Synopse 开发组) 更新详情:http://blog.qdac.cc/?p=1926
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2015/2/5 13:34:29
126楼:
楼主生猛!CB能用不?
----------------------------------------------
-
作者:
2015/2/5 14:10:38
127楼:
当然可以用
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2015/2/17 2:23:05
128楼:
这...Synopse的性能比较结果反差太大了吧. (QJSON) is 8 times slower, and using 7 times more memory. 是否因为测试的数据或者方法不一样? 另外,Andy大神也加入潮流了,推出了自己的JSON Parser http://andy.jgknet.de/blog/2015/02/json-parser-jsondataobjects-is-now-on-github/
----------------------------------------------
-
作者:
2015/4/1 14:05:05
129楼:
2015.4.1 ======= * 修正了由于 TQStringCatHelperW.Cat 函数在连接字符串时,计算需要的内存缓冲区大小不正确的问题(etarelecca 报告) 更新详情:http://blog.qdac.cc/?p=2209 请QXML、QJson、QMsgPack、QLog、QWorker用户更新
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2015/4/1 18:46:59
130楼:
没看到在哪下载...
----------------------------------------------
delphi界写python最强, python界写delphi最强. 写自己的代码, 让别人去运行.
作者:
2015/4/8 14:51:24
131楼:
2015.4.8 ========= * 修正了ParseNumeric 在解析 -0.xx 这样的数字符号出错的问题(感谢YZ报告) 更新详情:http://blog.qdac.cc/?p=2264 请QXML、QJson、QMsgPack 用户立即更新
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2015/5/6 18:38:32
132楼:
那位高人帮我做个DEMO ,手机端提交JSON数据(主要是查询操作的语句)到服务器,然后服务器处理完成后(数据库查询的结果)再发给手机显示,JSON的转换搞得头都大了,没人指点,不知道如何下手,(XE7 + 安卓)
----------------------------------------------
-
作者:
2015/10/12 10:34:31
133楼:
2015.10.8 ========== * 修正了名称末尾包含空格时错误的自动移除的问题
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2015/10/12 10:36:44
134楼:
@whx8888 ======== 这个自己做下吧,相信这么长时间你应该早搞定了
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2015/10/20 21:54:49
135楼:
2015.10.20 【更新说明】 + 增加函数 Sort 来支持对子结点排序 + 增加 RevertOrder 反转子结点顺序 + 增加 ExchangeOrder 交互子结点顺序 + 增加 ContainsName 判断子结点中是否有指定名称的子结点 + 增加 ContainsValue 判断子结点中是否有指定值的子结点 + 增加 Exists 函数来判断是否存在指定类型的子结点 【更新级别】 可选 【特别感谢】 阿木、恢弘、青春
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2015/11/19 8:56:16
136楼:
2015.11.19 ========== * 修正了TQHashedJson添加结点时,没有正确对名称进行哈希的问题(QQ报告) * 修正了 FromRtti 在 Win64 时,如果没有子属性时出错的问题
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2016/1/13 8:49:01
137楼:
2016.1.12 ========= + 增加了 Equals 函数来判断两个 JSON 的内容是否一致 + 增加了 Merge 函数来合并两个 JSON 的内容 + 增加了 Intersect 函数求两个 JSON 的相同元素 + 增加了 Diff 函数求两个 JSON 的差异元素 + 增加了 CommentStyle 和 Comment 属性来管理 JSON 中的注释,通过设置 CommentStyle 为 jcsBeforeName 或 jcsAfterValue 可以保存注释到 JSON中。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2016/1/13 11:12:09
138楼:
帮顶!
----------------------------------------------
==========
作者:
2016/1/13 16:52:05
139楼:
在网站下了个JSONView,然后发现了个问题哈......差点把我晕死了。 看附件的箭头标的两个数字
此帖子包含附件: 大小: 113.0K
----------------------------------------------
-
作者:
2016/1/13 16:58:13
140楼:
原始的数据也发给你,负值用你的这个view工具打开有问题,其他的负值也有,随机的。 用Delphi原生的没有问题。
----------------------------------------------
-
作者:
2016/1/13 17:06:06
141楼:
看了一下两个数的尾数加起来正好等于1,好好检查下吧。
----------------------------------------------
-
作者:
2016/1/16 9:29:08
142楼:
@141 楼 wk_knife ========== 这个问题已经于 2015.4.8 修复,官网上的JsonView忘记更新了,更新详情请参考:http://blog.qdac.cc/?p=2264。你用 MsgPackView打开会发现一切正常。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2016/4/7 14:06:25
143楼:
顶一下....
----------------------------------------------
山外青山楼外楼,能人背后有能人弄..
作者:
2016/6/24 22:36:22
144楼:
2016.6.24 ========== * 修正了由于 JsonCat 函数在计算需要的内存空间时,考虑不周造成的,造成内存可能访问越界的问题,推荐更新。
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2019/1/27 21:31:14
145楼:
@chineseswish 请问Delphi7下可用吗?
----------------------------------------------
-
作者:
2019/1/28 1:00:43
146楼:
楼上的不支持D7. 我要说的是"的英顶"
----------------------------------------------
山外青山楼外楼,能人背后有能人弄..