精易论坛
标题: 高效的 RapidJSON 解析/生成器支持库,提供 SAX 及 DOM 操作 [打印本页]
作者: 心冷、鱼儿 时间: 2020-3-17 13:54
标题: 高效的 RapidJSON 解析/生成器支持库,提供 SAX 及 DOM 操作
本帖最后由 心冷、鱼儿 于 2020-3-17 13:57 编辑
高效的 C++ JSON 解析/生成器,提供 SAX 及 DOM 风格 API
简介RapidJSON 是一个 C++ 的 JSON 解析器及生成器。它的灵感来自 RapidXml。
- RapidJSON 小而全。它同时支持 SAX 和 DOM 风格的 API。SAX 解析器只有约 500 行代码。
- RapidJSON 快。它的性能可与 strlen() 相比。可支持 SSE2/SSE4.2 加速。
- RapidJSON 独立。它不依赖于 BOOST 等外部库。它甚至不依赖于 STL。
- RapidJSON 对内存友好。在大部分 32/64 位机器上,每个 JSON 值只占 16 字节(除字符串外)。它预设使用一个快速的内存分配器,令分析器可以紧凑地分配内存。
- RapidJSON 对 Unicode 友好。它支持 UTF-8、UTF-16、UTF-32 (大端序/小端序),并内部支持这些编码的检测、校验及转码。例如,RapidJSON 可以在分析一个 UTF-8 文件至 DOM 时,把当中的 JSON 字符串转码至 UTF-16。它也支持代理对(surrogate pair)及 "\u0000"(空字符)。
JSON(JavaScript Object Notation)是一个轻量的xx交换格式。RapidJSON 应该完全遵从 RFC7159/ECMA-404,并支持可选的放宽语法。
一、使用说明
rapidjson.fne 为英文原版
rapidjson_cn.fne 为中文翻译版(翻译的中文命令有点糙),使用中文版时,请改文件名为rapidjson.fne 不然会出错的。
rapidjson_static.lib 为静态库,部分中文英文。
中文和英文可以无缝切换,直接替换支持库文件就可以了。
本支持库由VS2017,所以编译时,也必须要用VS2017编译。
VC2017连接器下载地址:
http://bbs.eyuyan.com/read.php?tid=410252 VS2017易支持库模板+VC2017链接器(讨厌vc6的可看)-->hxznhf
http://bbs.eyuyan.com/read.php?tid=408541 全易论坛独创首发,Vs2017Linker编译器 -->cs666
关于RapidJSON的相关问题,请看: http://rapidjson.org/zh-cn/md_doc_faq_8zh-cn.html
使用有声明问题请加QQ群: 心宇->EVAxx研究中心(255829517)
现在支持库完善了大概80%左右,已经可以正常使用,剩下20%是关于 reader 和编码以及一些参数有关,暂时对易不是很重要,后面也会完善。
二、版权声明
本支持库为封装TX开源项目 RapidJSON ,为解决易语言没有高性能JSON库的问题。
项目官网:http://rapidjson.org/zh-cn/
github:https://github.com/Tencent/rapidjson/
看在我花了几天时间的份上,要不要来波好评???
作者: 无精打采 时间: 2020-3-17 14:04
看一下 学习一下
作者: 350246356 时间: 2020-3-17 14:10
感谢发布原创作品,精易因你更精彩!
作者: 春风秀才 时间: 2020-3-17 14:10
大佬能不能弄一个simdjson支持库,比rapidjson快N倍
作者: zyx521147 时间: 2020-3-17 14:12
感谢发布原创作品,精易因你更精彩!
作者: 心冷、鱼儿 时间: 2020-3-17 14:23
simdjson 只是SAX模式的,不支持DOM模式,要使用会很麻烦,rapidjson 的 SAX 模式我都置封装了 writer 的,reader 我都没想好该怎么和易语言对接。还有各种编码,现在这个支持库都是我改了很多rapidjosn的代码才封装出来的,不改代码,这个支持库都不能玩。
作者: yinliming8 时间: 2020-3-17 14:37
谢谢楼主的分享。
作者: 风中冰雨 时间: 2020-3-17 15:42
看看。。。。。
作者: cool9411 时间: 2020-3-17 19:01



作者: cool9411 时间: 2020-3-17 19:34
大佬,json内包含韩文,转换成Unicode编码后,取文本直接乱码了,这个怎么解决呢
作者: 中国涛涛,中国 时间: 2020-3-17 19:51
这个厉害了 我试试看看啊
作者: 信念 时间: 2020-3-17 20:32
66666666666666666
作者: 心冷、鱼儿 时间: 2020-3-17 21:03
这不废话嘛,易语言不支持unicode。后面我看开接口获取字节集吧。这样可以自己处理易语言不支持的编码。
作者: 静默安装 时间: 2020-3-17 21:13
谢谢分享!
作者: smxmcylw 时间: 2020-3-17 21:19
感谢分享,很给力!~
作者: LySyhd 时间: 2020-3-17 22:28
楼主辛苦了
作者: 春风秀才 时间: 2020-3-18 10:23
帖子如果有更新日志就好了
作者: qq260014419 时间: 2020-3-18 16:51
666666666666666666666666
作者: yichu77 时间: 2020-3-18 19:46
顶顶更健康
作者: 『过客』 时间: 2020-3-19 00:00
#在这里快速回复#支持开源~!感谢分享
作者: 13266750 时间: 2020-3-21 13:53
牛啊,楼主
作者: shinid8210 时间: 2020-3-21 15:37
支持开源~!感谢分享
作者: 开始学易语言 时间: 2020-3-22 14:03
顶一下!!!!!!!
作者: 心镜 时间: 2020-3-22 17:16
支持开源~!感谢分享
作者: fhj123 时间: 2020-3-23 19:25
学习学习不错
作者: ck66 时间: 2020-3-24 14:18
支持开源~!感谢分享
作者: ghostw 时间: 2020-3-28 23:21
好东西,下载收藏
作者: 天涯海角II 时间: 2020-4-2 07:02
支持开源,感谢分享~!
作者: 刘周易晓 时间: 2020-4-4 23:19
突然发现我不会操作[吐血]
作者: wxzr 时间: 2020-4-5 18:34
混波金币~~~
作者: wxzr 时间: 2020-4-5 18:36
混波金币~~~
作者: gaoqing 时间: 2020-4-9 12:54
谢谢分享!
作者: 渁煑渔 时间: 2020-4-9 17:01
这个很强啊,不错
作者: geegtb 时间: 2020-4-10 21:49
好东西啊,需要好好看看
作者: 超级大大怪 时间: 2020-4-11 10:49
大佬,64位的啥时候出来
作者: 心冷、鱼儿 时间: 2020-4-15 18:54
啥64位? 
作者: 超级大大怪 时间: 2020-4-15 22:34
e 64位
作者: 277567719 时间: 2020-4-19 21:42
好东西收藏了
作者: Kano2003 时间: 2020-4-23 02:03
啊,希望能够增加一个取unicode字节集的接口,这样可以直接转到gb18030。
我的项目没法准确的判断字符串编码,如果能直接获得unicode字节集就方便了
作者: Kano2003 时间: 2020-4-23 11:46
请问楼主,如何用peek4这个方法去判断文件编码呢
作者: qinlongpkk 时间: 2020-4-25 17:50
英文看不懂哎
作者: yoobaby 时间: 2020-5-8 14:41
不错,。。。。。。。。。。
作者: MrSean 时间: 2020-5-10 16:14
支持开源~!感谢分享
作者: pianpu 时间: 2020-5-20 19:06
66666666666666666
作者: xiaogui888 时间: 2020-7-12 11:47
遇到好多json格式,看看这个能不能简单化!
作者: 漫步青云 时间: 2020-7-20 22:35
棒棒哒 加油
作者: chjchlove 时间: 2020-7-24 22:52
5564646842569
作者: fym51200 时间: 2020-8-1 16:32
棒棒哒 加油
作者: royalxavier 时间: 2020-11-4 00:05
虽然不懂但支持
作者: zxc35987 时间: 2020-11-23 09:24
新技能已get√
作者: dokuro 时间: 2021-1-11 11:55
有使用的例子吗?
作者: linchuan0 时间: 2021-1-18 11:02
下载学习一下
作者: jenken 时间: 2021-1-29 19:59
支持开源~!感谢分享
作者: 阿顺 时间: 2021-2-2 19:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: 阿顺 时间: 2021-2-8 02:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: JOKER♂少特 时间: 2021-3-4 12:57
刚好需要多线程中使用,测试看看效果
作者: 水草兄弟 时间: 2021-3-18 23:01
看看有多强大
作者: 441663619 时间: 2021-3-28 20:40
6666666666666666666666
作者: Solo98k 时间: 2021-4-17 19:51
感谢分享...................!
作者: 倌人安好 时间: 2021-9-8 19:45
我草
作者: 1678895471 时间: 2022-5-16 16:49
有好用的教程吗
作者: paulz2022 时间: 2022-6-2 19:39
支持开源~!感谢分享
作者: GS小东 时间: 2022-6-26 23:44
大佬简直神一样的存在
补充内容 (2022-6-28 20:29):
有个问题,Document.Parse()解析次数多后程序内存益出导致闪退问题该如何解决?请问大佬们有没有解决方案?
作者: Toomy 时间: 2022-6-27 10:57
想求您一个clr 以及 字体!
作者: wiewie999 时间: 2023-4-9 09:13
想求您一个clr 以及 字体!
作者: 5113c 时间: 2023-5-23 16:14
感谢分享
作者: b52maomao 时间: 2023-6-4 23:06
感谢分享
作者: 他不知道的事 时间: 2023-9-18 18:38
牛皮!!!!!!
作者: sky01 时间: 2023-10-6 17:40
"hello" : "\u5c0f\u6fa4\u30de\u30ea\u30a2",
"t" : true,
调试输出 (“取hello文本”, RJ_对象_取文本 (局_RJ句柄, “hello”))
调试输出 (“取逻辑”, RJ_对象_取逻辑 (局_RJ句柄, “t”))
[17:38:53] * “取hello文本” | “灏忔兢銉炪儶銈ⅰ?[17:38:53] * “取逻辑” | 真
-------------------------------------------------------
请问大佬,这个"hello" : "\u5c0f\u6fa4\u30de\u30ea\u30a2"取文本怎么乱码呢?
作者: dashang 时间: 2023-11-28 06:32
感谢分享,很给力!~
作者: ketong 时间: 2023-12-24 22:05
XML可否解析。
作者: q1512960733 时间: 2024-5-13 19:48
大佬不继续更新了吗
作者: wh1234567 时间: 2025-1-28 03:41
任意不规范的json都可以自动识别区分吗?比如有一串很长的json,一般是手工需要将前后删除掉才能解析,很累,你这个是不是自动可以识别归类并且可以复制??
作者: 白云飘飘 时间: 2025-6-3 16:47
感谢分享,很给力!~
欢迎光临 精易论坛 (https://125.confly.eu.org/) |
Powered by Discuz! X3.4 |