更快的 JsonCpp 替代方案允许 Json 对象的复制/可变性?

2023-11-29

JsonCpp 很慢。而且代码相当混乱。

有没有更快、更干净并且支持以下内容的替代方案:

Json::Value val, copy;
val["newMember"] = 100;
val["newMember2"] = "hello";
copy = val;
val["newMember2"] = "bye";
assert(val["newMember"] == copy["newMember"]);
assert(val["newMember2"] != copy["newMember2"]);

JsonCpp 支持类似上面的代码。

我试过了快速JSON,即very速度很快,但不幸的是它不支持复制 Json 值。

还有其他选择吗?基准奖励积分。


经过一段时间的“文档”搜索,我终于找到了一个用rapidjson复制JSON对象的好方法,非常方便:

rapidjson::Document doc; // This is the base document that you got from parsing etc
rapidjson::Value& v = doc["newMember"]; // newMember = 100

assert(v.GetInt() == 100);

rapidjson::Document copy;
doc.Accept(copy); // The accept meachnism is the same as used in parsing, but for copying

assert(copy["newMember"].GetInt() == doc["newMember"].GetInt())

显式复制有一个优点:它迫使您清楚地思考何时使用引用或可能不必要的副本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更快的 JsonCpp 替代方案允许 Json 对象的复制/可变性? 的相关文章

随机推荐

  • 使用 Canvas+HTML5 将 rgb-jpg 客户端转换为 8-bit-jpg

    很多文章展示了在客户端使用canvas html5将jpeg文件转换为灰度的方法 但我需要的是在上传到我的服务器之前将图像转换为 8 位灰度以减小其大小 可以用canvas html5来实现吗 The 什么工作组规范提到了一个 toBlob
  • Symfony2.如何让表单忽略额外的字段? [复制]

    这个问题在这里已经有答案了 我需要将一些数据发布到我的 Symfony 表单中 我使用submit 方法用于此 但是当请求包含一些额外的数据时 我收到错误 此表单不应包含额外字段 使用表单配置是否可以让表单丢失额外的数据 也许存在另一种方法
  • 如何使用WIX在D盘创建INSTALLLOCATION文件夹?

    下面的 xml 在 C Programfiles 下创建指定的文件夹 但我想在 D MySetupFolder 中创建 SomeFolder MyApp 文件夹 如何使用 WIX 创建此文件夹
  • 使用用于 seo 目的的路由隐藏或删除 url 中的控制器名称 = codeigniter

    我正在使用一个控制器 如何使用路由删除或隐藏 URL 上的控制器名称 我已经设置了 htaccess 以删除我的 index php 我已经尝试了其他类似问题的很多代码 但我没有运气 我不知道我的实时服务器是否有问题 因为在我之前的项目中我
  • 在特定节点后插入 XElement

  • GAE 无法查找 mongodb atlas 实例的 SRV 记录

    我有一个在 Atlas 上运行的 mongodb 实例和一个在 GAE 上运行的 Spring Boot 应用程序 试图访问该数据库 我在本地运行它没有问题 但在 GAE 上运行时我在日志中看到此错误 com mongodb MongoCo
  • 使用 Zebra 打印机 [ZPL] 打印阿拉伯文本

    正如标题所说 是否有任何选项可以打印阿拉伯语内容 ZPL Printer 尝试的事情是添加字体并启动打印 XA FX FR CF0 40 CI28 FO130 45 FH FD Font file FS XZ 我的打印机安装了 TT0003
  • 在 mat-select 中设置默认选项

    我的 Angular 材质项目中有一个简单的选择选项表单字段 组件 html
  • 抽象类中的构造函数有什么用? [复制]

    这个问题在这里已经有答案了 既然我们无法实例化抽象类 那么抽象类中有构造函数的必要性是什么呢 抽象类被设计为可扩展的 每个构造函数都来自子类必须从基类调用构造函数 因此您的抽象类中需要构造函数 抽象类是一个骨架 因此直接实例化它是没有意义的
  • 将元素固定到顶部

    我有一个固定在顶部 x y 轴的元素 有什么方法可以将其更改为仅固定到 x 轴吗 例如 这样我就可以将固定元素向左和向右滚动 当前代码 div style width 100 The fixed header element div div
  • git-log 缺少撤消更改的合并提交

    考虑这个测试脚本 bin sh x initialize repository rm rf missing merge log mkdir missing merge log cd missing merge log git init cr
  • NSPredicate:如何将字符串视为数字?

    我正在 iOS 应用程序中使用 sqlite 上的核心数据构建一个复合 NSPredicate 来发出获取请求 一切都已经工作正常 但我无法包含最后一个条件 原因很简单 我需要检查存储为字符串的值是否在特定的浮点范围内 问题在于条件是按字母
  • 设置 SQL SERVER Express 2017 以允许远程连接

    刚刚从重大崩溃中恢复我的服务器 这导致 Windows Server 2016 被重新安装 我有一个连接到 sql server 数据库的桌面应用程序 问题是现在我在服务器上设置了数据库 我不记得如何将其提供给外部源 应用程序 你能帮我吗
  • 禁用 Woocommerce 中特定类别的购物车项目的其他产品类别

    我正在开发一个网上商店 有不同的方面 第一个是常规商店 第二个是夜间啤酒服务 我已经搜索过 但找不到我要找的东西 首先 夜间啤酒服务是一个特定类别 不应与常规商品一起订购 如果类别 beerservice 在购物车中 禁用所有其他类别添加到
  • 从文件名中删除特殊字符的脚本

    我有一个包含大量文件的文件夹 许多文件名中都包含 和 或 字符 e g Test doc pdf e g Test doc doc 有没有一种快速方法可以使用 Windows 批处理文件 vbscript 或类似文件删除 和 字符 我们将不
  • 我如何在 Windows 7 x64 上将 jboss EAP-7.0.0 作为 Windows 服务运行?

    我已经在 Windows 7 x64 操作系统上安装了 Jboss EAP 7 0 0 当我通过bin目录中的standalone bat文件运行Jboss EAP 7 0 0时 它启动没有任何问题 并且部署的 war文件也可以正常工作 但
  • 从 IronPython 初始化 C# List

    我在 C 中有一个相对较深的对象树 需要从 IronPython 进行初始化 我是 python 新手 我正在努力处理数组的初始化 举个例子 假设我在 C 中有这些类 public class Class1 public string Fo
  • 资源图片的绝对UriSource

    我有一个 WPF 项目 如果我将图像存储在 ProjectRoot Images image png 中 并将其编译为资源 那么我可以通过 xaml 此 xaml 位于根目录 将其作为 BitmapImage 访问BitmapImage U
  • django 导入错误 - 没有名为 core.management 的模块

    好吧 我看到很多这样的错误 我已经尝试了我所知道的一切 但尚未弄清楚这一点 我正在开发一个运行 python 2 5 和 Django 1 3 的开发服务器 解压 tar gz 下载后 使用 python setup py install
  • 更快的 JsonCpp 替代方案允许 Json 对象的复制/可变性?

    JsonCpp 很慢 而且代码相当混乱 有没有更快 更干净并且支持以下内容的替代方案 Json Value val copy val newMember 100 val newMember2 hello copy val val newMe