在 C++ 上解析 JSON 文件并获取主键的所有子文件[关闭]

2023-12-01

我使用 boost 库,需要在 C++ 上解析一些 json 文件。

对于前。 json(部分):

{
    "media": {
        "Test1": "https://storage.tst",
        "Test2": "https://storage.tst"
    }

}

我想要在循环中(可能我会有很多字符串,例如 test (test2, test4...)) 用两个级别填充一些动态数组 - 名称(测试)和地址字段(键值)。我想获取“媒体”的每个字段并将该字段放入这个两级动态数组中。 我想用 C++11 或更旧的方法来实现。


Using boost::json你可以解析:

json::value sample = json::parse(R"(
    {
        "media": {
            "Test1": "https://storage.tst",
            "Test2": "https://storage.tst"
        }

    })");

现在您可以迭代属性,例如:

for (auto& [k, v] : sample.at("media").as_object()) {
    std::cout << k << " -> " << v << "\n";
}

要将其放入“二级数组”(不存在)中,我希望您的意思是:Live

std::map<std::string, std::string> not_an_array;
for (auto& [k, v] : sample.at("media").as_object()) {
    not_an_array.emplace(k, v.as_string());
}

fmt::print("not_an_array: {}\n", not_an_array);

Prints

not_an_array: {"Test1": "https://storage.tst", "Test2": "https://storage.tst"}

使用的文档:value, at, object and as_string

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

在 C++ 上解析 JSON 文件并获取主键的所有子文件[关闭] 的相关文章

  • std::cout 和 std::wcout 有什么区别?

    在c 中 有什么区别std cout and std wcout 它们都控制流缓冲区的输出或将内容打印到控制台 或者它们只是相似吗 它们作用于不同的字符类型 std cout uses char作为字符类型 std wcout uses w
  • 推导指南中的引用和值之间的差异

    考虑类型A template
  • JSON 语法:传输数组

    A validJSON 语法是这样的 username admin password 123 但是如果我想传输一组 用户 给出的例子 而不是单个 用户 根据规范 下面的代码是有效的 JSON 吗 username admin passwor
  • 如何修复此错误“GDI+ 中发生一般错误”?

    从默认名称打开图像并以默认名称保存 覆盖它 我需要从 Image Default jpg 制作图形 将其放在 picturebox1 image 上并在 picurebox1 上绘制一些图形 它有效 这不是我的问题 但我无法保存 pictu
  • 互斥体实现可以互换(独立于线程实现)

    所有互斥体实现最终都会调用相同的基本系统 硬件调用吗 这意味着它们可以互换吗 具体来说 如果我使用 gnu parallel算法 使用openmp 并且我想让他们称之为线程安全的类我可以使用boost mutex用于锁定 或者我必须编写自己
  • 在 Unity 进程和另一个 C# 进程之间进行本地 IPC 的最快方法 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我希望每秒大约 30 次从 C 应用程序向我的 Unity 应用程序传送大量数据 由于 Unity 不支持映射内存和管道 我考虑了 t
  • 将 System.Windows.Input.KeyEventArgs 键转换为 char

    我需要将事件参数作为char 但是当我尝试转换 Key 枚举时 我得到的字母和符号与传入的字母和符号完全不同 如何正确地将密钥转换为字符 这是我尝试过的 ObserveKeyStroke this new ObervableKeyStrok
  • 获取 WPF 控件的所有附加事件处理程序

    我正在开发一个应用程序 在其中动态分配按钮的事件 现在的问题是 我希望获取按钮单击事件的所有事件 因为我希望删除以前的处理程序 我尝试将事件处理程序设置为 null 如下所示 Button Click null 但是我收到了一个无法分配 n
  • 关于在 Windows 上使用 WiFi Direct Api?

    我目前正在开发一个应用程序 我需要在其中创建链接 阅读 无线网络连接 在桌面应用程序 在 Windows 10 上 和平板电脑 Android 但无关紧要 之间 工作流程 按钮 gt 如果需要提升权限 gt 创建类似托管网络的 WiFi 网
  • Rx 中是否有与 Task.ContinueWith 运算符等效的操作?

    Rx 中是否有与 Task ContinueWith 运算符等效的操作 我正在将 Rx 与 Silverlight 一起使用 我正在使用 FromAsyncPattern 方法进行两个 Web 服务调用 并且我想这样做同步地 var o1
  • 未定义的行为或误报

    我 基本上 在野外遇到过以下情况 x x 5 显然 它可以在早期版本的 gcc 下编译干净 在 gcc 4 5 1 下生成警告 据我所知 警告是由 Wsequence point 生成的 所以我的问题是 这是否违反了标准中关于在序列点之间操
  • 未经许可更改内存值

    我有一个二维数组 当我第一次打印数组的数据时 日期打印正确 但其他时候 array last i 的数据从 i 0 到 last 1 显然是一个逻辑错误 但我不明白原因 因为我复制并粘贴了 for 语句 那么 C 更改数据吗 I use g
  • C++:.bmp 到文件中的字节数组

    是的 我已经解决了与此相关的其他问题 但我发现它们没有太大帮助 他们提供了一些帮助 但我仍然有点困惑 所以这是我需要做的 我们有一个 132x65 的屏幕 我有一个 132x65 的 bmp 我想遍历 bmp 并将其分成小的 1x8 列以获
  • 如何使用 watin 中的 FileUploadDialogHandler 访问文件上传对话框

    我正在使用 IE8 和 watin 并尝试通过我的网页测试上传文件 我不能简单地使用 set 方法设置上传文件 例如 ie FileUpload Find ById someId Set C Desktop image jpg 因为上传文本
  • 使用 Moq 使用内部构造函数模拟类型

    我正在尝试模拟 Microsoft Sync Framework 中的一个类 它只有一个内部构造函数 当我尝试以下操作时 var fullEnumerationContextMock new Mock
  • 将新行 JSON 上传到 Elasticsearch 批量 API

    我正在尝试使用 Bulk API 将新行 JSON 上传到 Elasticsearch 我上传的批量 JSON 如下所示 每个 JSON 都占一个新行 ip x x x x seen true classification maliciou
  • 有没有办法强制显示工具提示?

    我有一个验证字段的方法 如果无法验证 该字段将被清除并标记为红色 我还希望在框上方弹出一个工具提示 并向用户显示该值无效的消息 有没有办法做到这一点 并且可以控制工具提示显示的时间 我怎样才能让它自己弹出而不是鼠标悬停时弹出 If the
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的
  • 如何将 Roslyn 语义模型返回的类型符号名称与 Mono.Cecil 返回的类型符号名称相匹配?

    我有以下代码 var paramDeclType m semanticModel GetTypeInfo paramDecl Type Type Where paramDeclType ToString returns System Col
  • 使用 GhostScript.NET 打印 PDF DPI 打印问题

    我在用GhostScript NET http ghostscriptnet codeplex com打印 PDF 当我以 96DPI 打印时 PDF 打印效果很好 但有点模糊 如果我尝试以 600DPI 打印文档 打印的页面会被极大地放大

随机推荐

  • Rmd 到 PDF 编译错误:包几何 \paperwidth (0.0pt) 太短

    我正在用 R markdown 写一篇论文 需要将其格式化这个 cls 文件由学术期刊提供 最小的 tex 文件可以与上面的 cls 文件完美编译 我的 tex 文件 在 ShareLaTeX 上编译为clv3 cls保存在同一目录中 do
  • 按mysql中select语句“in”子句中的值顺序排序

    我正在从一个具有整数 id 值的大表 数百万行 中选择一组帐户记录 从某种意义上说 这是一个基本的查询 我正在做的事情是构建一个大的逗号分隔列表 并将其作为 in 子句传递到查询中 现在的结果是完全无序的 我想做的是按照 in 子句中的值的
  • 当为 WinHTTPRequest 指定事件处理程序前缀时,WScript.CreateObject 会使 Windows 脚本主机崩溃

    根据MSDN 文档WinHTTPRequest 有四个事件处理程序 应该可以通过指定事件处理程序前缀来访问它们 不幸的是 这样做会导致 Windows Scripting Host 崩溃 以下代码使 Windows 脚本主机崩溃 Set o
  • window.prompt和prompt之间有什么真正的区别吗?

    只是出于好奇 window prompt 和 JavaScript 中的提示之间有什么区别吗 对于老师使用的我的考试问题的答案之一 var yourName window prompt Please enter your first nam
  • 如何在knitr的pdf输出中保持带有图形标题的图形位置?

    我正在使用knitr 1 9 5和1 9 17 和rmarkdown 0 5 3 1 并且想在pdf输出中保留图形位置 当 chunk 选项时 生成的 pdf 文件工作正常fig pos H 用来 然而 当fig caption yes被设
  • 一页上有多个倒计时器

    目前正在开发一个需要在一页上有两个计时器的项目 定时器需要有一个启动按钮 并且两者都有不同的计时 即定时器 1 持续 10 秒 定时器 2 持续 20 秒 这是我正在使用的脚本 但我不知道如何复制计时器并让每个计时器独立工作 有没有人可以轻
  • php、文件下载

    我正在使用简单的文件下载脚本 if file exists file header Content Description File Transfer header Content Type application octet stream
  • R Shiny 保存反应性 ggplots

    我试图弄清楚如何在我的 R Shiny 项目中保存反应性 ggplots 我已经关注了this指南以及 R Shiny 网站上的指南 但是 我认为我可能遇到问题 因为我使用的是反应图 这是我到目前为止的代码 ui lt fluidPage
  • 如何将对象中数组的索引值添加到键

    我在变量中有一个对象info as 0 ProId Space Name cake Quantity 1 1 ProId new Name walk Quantity 1 我正在尝试将数量值更改为index 1对于每个索引 我尝试将静态值设
  • 如何使用 CASE 更新 MySQL 中的条目以获得新值?

    谁能告诉我如何解决这个查询 update ae44 set Price Case when ID AT259793380 then 500 when ID AT271729590 then 600 when ID AT275981020 t
  • 将数据变量传递给 R 公式

    假设我想写anscombe gt lm tidy x1 y1 其实我想写anscombe gt lm tidy x1 y1 where x1 and y1是数据框的一部分 因此 由于以下功能似乎有效 plot gg lt function
  • 如何将文本添加到按钮上方的 Inno Setup 斜线?

    如何将文本添加到按钮上方的 Inno Setup 斜线 来自 Inno Setup 帮助 特殊用途的 BeveledLabel 消息可用于指定一条线 向导窗口左下角显示的文本 和卸载程序窗口 下面是一个例子 Messages Beveled
  • 如何在 Swift 中使用命名空间?

    文档只提到了嵌套类型 但不清楚它们是否可以用作命名空间 我没有发现任何明确提及名称空间的内容 我认为 Swift 的命名空间是令人向往的 它的大量广告与实际情况不符 例如 WWDC 视频指出 如果您导入的框架有一个 MyClass 类 并且
  • Python Max/Min 函数中的 iter 和 key 如何工作? [复制]

    这个问题在这里已经有答案了 我对 Python 比较陌生 我一直在阅读各种内置函数的文档 当涉及到最大 最小函数时 max arg1 arg2 args key or max iterable key 我知道 arg1 arg2 等或 it
  • Jquery - 我不应该重复选择器(存储在变量中)吗?

    有时我发现自己多次重复选择器 我是否应该以某种方式将 jquery 对象存储到变量中 然后只使用该变量 举个简单的例子 以下内容怎么样 a contactus css padding 10px a contactus css margin
  • 我可以使用 lambda 重写 JDK8 中功能接口的 toString 方法吗?

    这个问题在这里已经有答案了 我可以重写功能接口的 toString 方法吗 或者改写一下 是否有优雅的方法来更改实现函数式接口并使用 lambda 重写 toString 方法的匿名内部类 当我在JDK8中创建lamba表达式时 我可以覆盖
  • python 对象到本机 c++ 指针

    我正在考虑使用 python 作为我正在从事的项目的嵌入式脚本语言 并且已经完成了大部分工作 但是我似乎无法将 python 扩展对象转换回本机 c 指针 这是我的课 class CGEGameModeBase public virtual
  • 寻找衍生脚本

    我正在拼命寻找可以计算函数一阶导数的 JavaScript 该函数始终仅包含一个变量 x e g f x x f 3 2x 因此 脚本应提供结果 6 因为2 3 6 我希望你明白我的意思 function slope f x dx dx d
  • .NET 在服务器上创建计划任务失败并显示 E_ACCESSDENIED

    我有一个 ASP NET 网站 C 语言 它接收用户数据 然后尝试创建 Windows 计划任务 当然 这在 DEV 机器上运行得很好 但在服务器上运行失败 我试图弄清楚 ASPNET 用户 或匿名 Web 用户 需要什么权限才能创建任务
  • 在 C++ 上解析 JSON 文件并获取主键的所有子文件[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我使用 boost 库 需要在 C 上解析一些 json 文件 对于前 json 部分 media Test1 https storage tst Test2 https sto