Rapidjson 使用 JSON 字符串作为编写器的输入进行漂亮打印

2024-02-24

下列的rapidjson 文档 http://rapidjson.org/md_doc_sax.html#Writer我能够以逐个键的方式生成漂亮打印的 JSON 输出,例如:

rapidjson::StringBuffer s;
rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(s);    

writer.StartObject();
writer.Key("hello");
writer.String("world");
writer.EndObject();

std::string result = s.GetString();

但是,我想做同样的事情,但使用 JSON 字符串(即std::string对象(其内容是有效的 JSON)来提供给作者,而不是调用Key(), String() and so.

展望PrettyWriter API http://rapidjson.org/classrapidjson_1_1_pretty_writer.html我没有看到任何以这种方式传递 JSON 字符串的方法。另一种方法是将解析后的 JSON 字符串作为rapidjson::Document对象,但我还没有发现这种可能性。

请问您知道如何做到这一点吗?


这是来自他们的文档:

// rapidjson/example/simpledom/simpledom.cpp`
#include "rapidjson/document.h"
#include "rapidjson/writer.h"
#include "rapidjson/stringbuffer.h"
#include <iostream>

using namespace rapidjson;

int main() {
    // 1. Parse a JSON string into DOM.
    const char* json = "{\"project\":\"rapidjson\",\"stars\":10}";
    Document d;
    d.Parse(json);

    // 2. Modify it by DOM.
    Value& s = d["stars"];
    s.SetInt(s.GetInt() + 1);

    // 3. Stringify the DOM
    StringBuffer buffer;
    Writer<StringBuffer> writer(buffer);
    d.Accept(writer);

    // Output {"project":"rapidjson","stars":11}
    std::cout << buffer.GetString() << std::endl;
    return 0;
}

我猜你需要#3?

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

Rapidjson 使用 JSON 字符串作为编写器的输入进行漂亮打印 的相关文章

  • MEX 文件中的断言导致 Matlab 崩溃

    我正在使用mxAssert 宏定义为matrix h在我的 C 代码中 mex 可以完美编译 当我调用的 mex 代码中违反断言时 该断言不会导致我的程序崩溃 而是导致 Matlab 本身崩溃 我错过了什么吗 这是有意的行为吗 当我查看 M
  • 添加对共享类的多个 WCF 服务的服务引用

    我正在尝试将我的 WCF Web 服务拆分为几个服务 而不是一个巨大的服务 但是 Visual Studio Silverlight 客户端 复制了两个服务共享的公共类 这是一个简单的例子来说明我的问题 在此示例中 有两个服务 两者都返回类
  • 获取两个字符串之间的公共部分c# [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要的是获取两个单词之间的共同部分并获取差异 例子 场景1 word1 感言 word2 Test 将返回 公共部分Test 不同之
  • 在 OpenCL 中将函数作为参数传递

    是否可以在 OpenCL 1 2 中将函数指针传递给内核 我知道可以用C实现 但不知道如何在OpenCL的C中实现 编辑 我想做这篇文章中描述的同样的事情 在 C 中如何将函数作为参数传递 https stackoverflow com q
  • Guid 应包含 32 位数字和 4 个破折号

    我有一个包含 createuserwizard 控件的网站 创建帐户后 验证电子邮件及其验证 URL 将发送到用户的电子邮件地址 但是 当我进行测试运行时 单击电子邮件中的 URL 时 会出现以下错误 Guid should contain
  • try-catch 中未处理的异常

    try list from XElement e in d Descendants wix File where e Attribute Name Value Contains temp Name e Parent Parent Attri
  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • Kubernetes / kubectl - “必须指定容器名称”,但看起来确实如此?

    我正在调试 kubectl 的日志输出 其中指出 Error from server BadRequest a container name must be specified for pod postgres operator 49202
  • UWP 无法在两个应用程序之间创建本地主机连接

    我正在尝试在两个 UWP 应用程序之间设置 TCP 连接 当服务器和客户端在同一个应用程序中运行时 它可以正常工作 但是 当我将服务器部分移动到一个应用程序并将客户端部分移动到另一个应用程序时 ConnectAsync 会引发异常 服务器未
  • C# 搜索目录中包含字符串的所有文件,然后返回该字符串

    使用用户在文本框中输入的内容 我想搜索目录中的哪个文件包含该文本 然后我想解析出信息 但我似乎找不到该字符串或至少返回信息 任何帮助将不胜感激 我当前的代码 private void btnSearchSerial Click object
  • Silverlight Datagrid:在对列进行排序时突出显示整个列

    我的 Silverlight 应用程序中有一个 DataGrid 我想在对该列进行排序时突出显示整个列 它在概念上与上一个问题类似 Silverlight DataGrid 突出显示整列 https stackoverflow com qu
  • 32位PPC rlwinm指令

    我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
  • 无法使用 Ninject 将依赖项注入到从 Angular 服务调用的 ASP.NET Web API 控制器中

    我将 Ninject 与 ASP NET MVC 4 一起使用 我正在使用存储库 并希望进行构造函数注入以将存储库传递给其中一个控制器 这是实现 StatTracker 接口的上下文对象 EntityFramework public cla
  • 内核开发和 C++ [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 从我know https stackoverflow com questions 580292 what languages are windo
  • Fluent NHibernate 日期时间 UTC

    我想创建一个流畅的 nhibernate 映射来通过以下方式映射 DateTime 字段 保存时 保存 UTC 值 读取时 调整为本地时区值 实现此映射的最佳方法是什么 就我个人而言 我会将日期存储在 UTC 格式的对象中 然后在读 写时在
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C
  • 为什么 Ajax.BeginForm 在 Chrome 中不起作用?

    我正在使用 c NET MVC2 并尝试创建一个 ajax 表单来调用删除数据库记录 RemoveRelation 的方法 删除记录的过程正在按预期进行 删除记录后 表单应调用一个 JavaScript 函数 从视觉效果中删除该记录 Rem
  • Azure函数版本2.0-应用程序blobTrigger不工作

    我有一个工作功能应用程序 它有一个 blob 输入和一个事件中心输出 在测试版中工作 随着最新的更改 我的功能不再起作用 我尝试根据发行说明更新 host json 文件 但它没有引用 blob 触发器 version 2 0 extens
  • 从类模板参数为 asm 生成唯一的字符串文字

    我有一个非常特殊的情况 我需要为类模板中声明的变量生成唯一的汇编程序名称 我需要该名称对于类模板的每个实例都是唯一的 并且我需要将其传递给asm关键字 see here https gcc gnu org onlinedocs gcc 12
  • 如何创建向后兼容 Windows 7 的缩放和尺寸更改每显示器 DPI 感知应用程序?

    我是 WPF 和 DPI 感知 API 的新手 正在编写一个在 Windows 7 8 1 和 10 中运行的应用程序 我使用具有不同每个显示器 DPI 设置的多个显示器 并且有兴趣将我的应用程序制作为跨桌面配置尽可能兼容 我已经知道可以将

随机推荐

  • 在KeyPress事件中获取KeyCode值

    如何修复此错误 System Windows Forms KeyPressEventArgs 不包含定义 对于 KeyCode 并且没有扩展方法 KeyCode 接受第一个 System Windows Forms KeyPressEven
  • Spring Boot“不是一个实体”

    我是 Hibernate 和 SpringBoot 的新手 我的项目涉及一个搜索引擎 该引擎由 2 个独立模块 1 个两者共用的基本模块组成 其中IndexSetup类驻留 有一个用于索引的模块 JavaFx 另一个用于通过 Web 浏览器
  • “财产有 ivar 支持”?这在技术上意味着什么?

    所以 我对 Objective C 还很陌生 拿一些 iTunes U corses 做一些练习等等 但是当您使用 synthesize myProperty myIvarPropertyNameToUse 时 iOS 5 将创建一个 iv
  • 替换 javascript 数组中的字符串

    我有一个 JavaScript 数组 该数组包含包含逗号 的字符串 我希望从此数组中删除所有逗号 这可以做到吗 Yes for var i 0 i lt arr length i arr i arr i replace g
  • CSS 模块 @import 未能通过 Jest 测试套件

    我正在使用 Jest 和 Enzyme 来测试我的应用程序 我收到错误 FAIL app containers Navbar NavbarContainer test js Test suite failed to run app comp
  • 在 Perl 中读取文件时如何跳过行?

    我怎样才能做到这一点 open FILE somefile foreach
  • 为每根树枝设置翻译域

    我有一些树枝包括需要翻译的文本 目前我把这句话放在每根树枝上 trans default domain AcmeTopBundle 不过 这有点麻烦 有没有一种好方法可以为一个地方的每根树枝设置默认域 可以在原来的基础上写一个自定义的节点访
  • 没有自动换行的多行 UILabel?

    是否有可能有一个UILabel由多个组成 n 分隔行的行宽度 gt 标签宽度被截断而不是换行 假设我有一些如下所示的文本 这是一个非常长的第一行文本 太长而无法水平放置 短线 又一条短线 我希望这个出现在我的UILabel像这样 1 Thi
  • 无法导出 const 箭头函数

    ES6 新手 我试图制作一个像这样的 React 简单功能组件 Todo jsx export default const Todo todos onTodoClick gt ul todos map todo i gt li gt onT
  • 将 ArrayList 转换为 JSON - Android

    我有一个数组列表和一个单独的字符串 我想将它们转换为 JSON 格式并期望它低于 json 格式 预期格式 last sync date 2014 06 30 04 47 45 recordset contact group guid y3
  • 在 Rstudio 中使用 gtsummary 计算缺失值的百分比

    我的问题有点类似于这个one https stackoverflow com questions 63640473 calculate percent from total observations in r gtsummarytbl su
  • XSl:Variable - 检查值是否存在的条件

    使用XSLT 1 0 如何检查变量中的值是否存在 我最初从 XML 数据将值分配给变量 然后需要检查它是否存在
  • 查找数组的最大切片 | JavaScript

    我需要找到包含不超过两个不同数字的数组的最大切片 这是我的数组 1 1 1 2 2 2 1 1 2 2 6 2 1 8 我对此的思考过程是找到不重复的数字并在新数组中返回它们的索引 这是我到目前为止所拥有的 function goThrou
  • 在 Python 的 sqlite3 中使用外键

    我正在编写一个通过 python 创建 sqlite3 数据库的程序 我有一个作者表 AuthorID Name 和第二个图书表 BookID Title AuthorID 我创建的这些表如下所示 Authors sqlite3 conne
  • Twitter Bootstrap 3.0 行比窗口宽

    我正在摆弄 Twitter Bootstrap 并注意到我的 row比屏幕长度更宽 这里是example http bootply com 90307 当 bootstrap 3 0 出来时我没有经历过这个 右侧的额外空间来自margin
  • 如何检测WKWebView中的hash变化?

    我有一个使用 javascript 的网站 它使用 Angular 来控制您在网站上看到的内容 所以http somewebsite com page1 http somewebsite com page1显示 当您单击位置更改为的选项卡时
  • 用于计算矩阵指数的 C++ 库

    对于实现矩阵指数计算的库有什么建议吗 Expokit http www maths uq edu au expokit 用 Fortran 编写 但可以嵌入 C 中 它工作得很好 并且包含稀疏矩阵的优化算法
  • 如何检查文件是否包含纯文本?

    我有一个装满文件的文件夹 我想搜索其中的一些字符串 问题是有些文件可能是 zip exe ogg 等 我可以以某种方式检查它是什么类型的文件 所以我只打开并搜索 txt PHP 等文件 我不能依赖文件扩展名 使用Python的mimetyp
  • React Native - Expo:fontFamily“SimpleLineIcons”不是系统字体,尚未通过 Font.loadAsync 加载

    所以我在 Android 设备 模拟器上收到此错误 另一方面 在 iOS 上 它编译得很好 并且simple line icons都可以正确显示 我正在运行最新版本的expo 我的package json name FamScore3 ve
  • Rapidjson 使用 JSON 字符串作为编写器的输入进行漂亮打印

    下列的rapidjson 文档 http rapidjson org md doc sax html Writer我能够以逐个键的方式生成漂亮打印的 JSON 输出 例如 rapidjson StringBuffer s rapidjson