使用 jsoncpp 迭代 JSON 对象数组

2024-01-08

我有一个 JSON 对象数组,例如 jsonArr,如下所示:

[
  { "attr1" : "somevalue",
    "attr2" : "someothervalue"
  },
  { "attr1" : "yetanothervalue",
    "attr2" : "andsoon"
  },
  ...
]

使用 jsoncpp,我尝试迭代数组并检查每个对象是否有成员"attr1",在这种情况下我想将相应的值存储在向量中values.

我尝试过类似的事情

Json::Value root;
Json::Reader reader;
Json::FastWriter fastWriter;
reader.parse(jsonArr, root);

std::vector<std::string> values;

for (Json::Value::iterator it=root.begin(); it!=root.end(); ++it) {
  if (it->isMember(std::string("attr1"))) {
    values.push_back(fastWriter.write((*it)["uuid"]));
  }
}

但不断收到错误消息

libc++abi.dylib: terminating with uncaught exception of type Json::LogicError: in Json::Value::find(key, end, found): requires objectValue or nullValue

非常不言自明:

for (Json::Value::ArrayIndex i = 0; i != root.size(); i++)
    if (root[i].isMember("attr1"))
        values.push_back(root[i]["attr1"].asString());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 jsoncpp 迭代 JSON 对象数组 的相关文章

  • 当尝试在随机数字数组中查找运行最大值时,会调用多少次更新最大值?

    假设我们有一个包含 N 到 N 的整数的数组 数组大小为 2N 1 我们首先对数组中的元素进行混洗 然后尝试通过从第一个元素到最后一个元素迭代数组来找到最大整数 代码示例是Java语言 int called 0 int max Intege
  • Python/PyTables:数组的不同列是否可以有不同的数据类型?

    我创建了一个可扩展的 Nx4 列数组 某些列需要 float64 数据类型 其他列可以使用 int32 进行管理 是否可以改变列之间的数据类型 现在我只使用一个 float64 如下 但它需要巨大的磁盘空间来存储 gt 10 GB 文件 例
  • 按元素出现的频率对数组元素进行排序

    是否可以在 matlab octave 中使用sort函数根据元素的相对频率对数组进行排序 例如数组 m 4 4 4 10 10 10 4 4 5 应该产生这个数组 5 10 10 10 4 4 4 4 4 5是出现频率较低的元素 位于顶部
  • JSON字符串转JS对象

    我正在使用 JS 对象通过 Google 可视化创建图表 我正在尝试设计数据源 首先 我在客户端创建了一个 JS 对象 var JSONObject cols id date label Date type date id soldpenc
  • 比较两个字符串ArrayList

    我有两个数组列表 dim Colors1 New ArrayList Colors1 Add Blue Colors1 Add Red Colors1 Add Yellow Colors1 Add Green Colors1 Add Pur
  • api网关CORS设置

    我正在尝试在部署脚本中使用 aws cli 从命令行设置 aws CORS 我使用以下 perl to shell 命令创建了 POST 资源 我正在尝试将集成响应设置为 就像启用核心一样 aws apigateway put method
  • 如何在 mongo shell 查询中仅投影嵌套数组的匹配字段

    我对 mongodb 相当陌生 我希望这是一个简单的问题 我有一个嵌套架构 其中有一个数组字段 其中该数组的每个项目都是一个本身具有数组字段的对象 例如 gt db mytest insert name a top x 1 y 2 nest
  • 将 JSON 字符串传递给 Django 模板

    我一直在用头撞墙 试图找出为什么我无法将从 Django 模型生成的 JSON 字符串传递到模板的 javascript 静态文件中 事实证明 问题不在模型级别 使用serializers serialize 在脚本本身中放入相同的字符串将
  • 将表类型添加到 JSON 编辑器

    我想了解的代码这个 JSON 编辑器 http mb21 github io JSONedit 并修改它 In 指令 js https github com mb21 JSONedit blob gh pages js directives
  • 从 PHP 中的平面路径数组构建目录树

    所以 标题可能令人困惑 但我不知道如何表达这种数组结构 它肯定是一个树结构 但至于它的创建 这正是我所渴望的 它似乎不遵循典型的递归数组树构建 我正在尝试从平面路径数组创建列目录布局 每个路径都位于其自己的多维数组内 该数组旨在构建 mac
  • C++11 中 std::array 大小为零是否有原因?

    考虑以下代码 C 11 编译器完全可以接受它 include
  • 如何在 Laravel 中禁用 JSON 响应的分块编码?

    我从 Laravel 中的控制器方法返回一个数组 Laravel 将此解释为我想发送 JSON 这很好 但它没有设置Content Length并改为使用Transfer Encoding chunked 我的回复很小 所以我不想把它们分块
  • 查找所有具有相同值的数组键

    当值未知时 是否有一种更简单的方法来获取具有相同值的所有数组键 The problem with array unique是它返回唯一的数组 因此它找不到唯一的值 例如 从这个数组 Array a gt 1000 b gt 1 c gt 1
  • Express 不断将 request.body 获取为未定义的 JSON 对象

    我正在发出一个 Ajax 请求 如下所示 ajax url gen type POST data JSON stringify one 1 two 2 success function data console log this 我的快递部
  • 使用架构定义验证 JSON 对象

    只要我们可以根据预定义的模式 即 XSD 或 DTD 验证传入的 XML 文件 我们就可以对传入的 JSON 对象执行验证 有可用的 JSON 架构定义吗 有一个工作草案JSON 模式 http json schema org 您还可以看一
  • 从 Python 将分层 JSON 数据写入 Excel xls?

    我想将一些数据从 python 写入 xlsx 我目前将其存储为 JSON 但它从 Python 中输出什么并不重要 单个文章的 JSON 如下所示 Word Count 50 Key Words Blah blah blah Foo Fr
  • 无法使用 Python 循环分页 API 响应

    所以 我对这个感到摸不着头脑 使用 HubSpot 的 API 我需要获取我客户的 门户 帐户 中所有公司的列表 遗憾的是 标准 API 调用一次只能返回 100 家公司 当它返回响应时 它包含两个参数 使分页响应成为可能 其中之一是 ha
  • `gsl::string_span` 的目的是什么?

    阅读期间微软的实现 https github com Microsoft GSL of Cpp 核心指南 http isocpp github io CppCoreGuidelines CppCoreGuidelines 我遇到两个问题 W
  • 当我在 PHP 中将 print_r() 应用于数组时,为什么会得到“Resource id #4”? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • 查找数组中的多个索引

    假设我有一个像这样的数组 string fruits watermelon apple apple kiwi pear banana 是否有一个内置函数可以让我查询 apple 的所有索引 例如 fruits FindAllIndex ap

随机推荐