rapidjson - 删除快速 JSON 嵌套对象的成员
问题描述
是否有删除嵌套 JSON 对象中成员的示例?
例如:考虑下面的 JSON 片段,我如何能够从快速子库中删除成员 C?
{
"a": 1,
"b":{"c" : 2, "d" : 3}
}
我不是在寻找硬编码删除.. 像 a.RemoveMember("c"); 我正在寻找代码示例以使用成员迭代器从快速 JSON 文档中删除成员。我看到的所有示例都是针对 ConstMemberIterator 的。但是 RemoveMember 只能用成员迭代器调用
从文档https://rapidjson.org/md_doc_tutorial.html中,我正在寻找以下函数的示例代码片段:
MemberIterator RemoveMember(MemberIterator): Remove a member by iterator (constant time complexity).
MemberIterator EraseMember(MemberIterator): similar to the above but it preserves order of members (linear time complexity).
MemberIterator EraseMember(MemberIterator first, MemberIterator last): remove a range of members, preserves order (linear time complexity).
解决方案
我不知道这是否可以解决您的问题(http://rapidjson.org/md_doc_pointer.html)
// Erase a member or element, return true if the value exists
bool success = Pointer("/b/c").Erase(d);
assert(success);
已编辑
是的,但它会擦除整个b
对象。结果将是{"a": 1}
推荐阅读
- angular - Materializecss angular 5 下拉内容动态生成抛出错误
- jquery - select2 上的更改事件始终具有空值
- ios - 动态应用程序图标 iOS
- html - 如何使用 TS 在 Angular 4 中打印页面
- u-boot - 如何通过 U-boot 提示读/写特殊键?
- node.js - npm install 不会在 Windows 10 上安装最新的软件包
- react-native - 如何在本机反应中重新启动当前屏幕?
- java - java.lang.VerifyError:类 org.elasticsearch.index.search.MatchQuery$MatchQueryBuilder 覆盖最终方法 createFieldQuery
- mysql - SQL中的交叉连接(MySQL)
- c# - 我正在尝试将 PictureBox 动态添加到 TableLayoutPanel 但它没有填充选定的单元格