JSON做为一个后起的通用数据交换格式,Delphi后期的版本虽然提供了原生的支持,但早期并没有提供支持,由此产生了许多的JSON解析器,如lkJson、SuperObject的Json单元、RTC的Json单元,但当我们要找到符合下述要求的JSON组件时,会发现几乎没有什么选择:
√ 开源,可以免费使用
√ 跨平台,支持Win32/Win64/Andriod/iOS/OSX
√ 速度快,能够媲美Java原生速度
如果你在寻找符合上述要求的JSON解析器,那么QDAC项目组的QJSON将是目前不二的选择,它的优势在于:
√ 完全开源
√ 全中文注释和函数说明
√ 跨平台,支持Win32/Win64/Andriod/iOS/OSX
√ 支持Ansi/Utf8/Unicode LE/Unicode BE编码的JSON数据(唯一一个在移动平台支持Ansi编码的JSON数据)
√ 兼容性强,兼容国内多种非标准的JSON格式的解析
√ 速度快,解析速度是目前Delphi各种原生JSON解析器中最快的(截止QJSON解析器完成时),在我的机器上,实测解析和保存速度可以达到30MB/S以上
√ 同时支持Delphi/C++ Builder
项目开源地址:http://sourceforge.net/projects/qdac3/
源码在线浏览:http://sourceforge.net/p/qdac3/code/HEAD/tree/Source/
QJSON源码文件包含:qdac.inc、qstring.pas、qrbtree.pas、qjson.pas,如果是Delphi 2010及以前的版本,还需要pcre.pas、PerRegEx.pas及pcre目录下的内容,以支持正则表达式处理,如果是在C++ Builder编译,还需要附带msvcrt.lib。
QJSON的演示程序:http://sourceforge.net/p/qdac3/code/HEAD/tree/Demos/Delphi/VCL/QJson/
盒子讨论链接:http://bbs.2ccc.com/topic.asp?topicid=454307