如何使用 jq 过滤 JSON 对象数组?

2024-04-06

我有以下 JSON 输入:

{
  "zk_kafka": [
    {
      "InstanceType": "t2.medium",
      "zkMemory": "16",
      "kafkaMemory": "8"
    },
    {
      "InstanceType": "t2.small",
      "zkMemory": "8",
      "kafkaMemory": "4"
    }
  ],
  "es_hdfs": [
    {
      "InstanceType": "t2.medium",
      "esMemory": "16",
      "hdfsMemory": "8"
    },
    {
      "InstanceType": "t2.small",
      "esMemory": "8",
      "hdfsMemory": "4"
    }
  ]
}

首先,我想通过属性名称选择一个数组。然后我想通过属性的值选择数组的一个对象InstanceType.

属性示例zk_kafka和价值t2.medium:

{
  "InstanceType": "t2.medium",
  "zkMemory": "16",
  "kafkaMemory": "8"
}

我知道如何选择数组:

jq .zk_kafka

但我不知道如何通过属性值过滤对象数组。


Use the select过滤器jq:

jq '.zk_kafka | .[] | select(.InstanceType == "t2.medium")'

Use the --arg将参数传递给查询以避免注入的选项。

jq --arg instance "t2.medium" '.zk_kafka | .[] | select(.InstanceType == $instance)'

jq has a manual https://stedolan.github.io/jq/manual/, a tutorial https://stedolan.github.io/jq/tutorial/ and a cookbook https://github.com/stedolan/jq/wiki/Cookbook.

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

如何使用 jq 过滤 JSON 对象数组? 的相关文章

随机推荐

  • JQuery UI 1.8.10 无法读取未定义的属性“3”

    我使用 JQuery UI 1 8 10 和最新的 jquery 我的代码是 div div
  • 尝试从 VB 6 调用 C# COM 对象 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我试图从 VB 6 调用 C COM
  • Rails 3 限制访问,以便用户只能更新他们的数据

    这看起来应该是相当简单的事情 因为它会被很多需要 我检查用户是否正常登录 但一旦用户登录 他们可能会更改其他人的帐户 例如 假设 ID 为 1 的用户已登录 并且他们将 users 2 edit 作为 url 这将向他们显示用户 2 的数据
  • codeigniter :将数据/记录插入到 2 个表中

    我有 2 个表 pengguna 和 mahasiswa 然后 1 个表有一个表单 其中 1 个表单插入到 2 个表中 到目前为止 我设法插入数据 但它与 主键 和 外键 有关它有问题 正如你从下面的代码中看到的id pengguna从表p
  • JSON 中位置 437 处出现意外标记 }

    我正在使用 Angular 5 0 0 我想连接angular bootstrap md 但是当你启动应用程序时ng s发生错误 错误 TS5014 无法解析文件 C Users Admin Desktop angular tsconfig
  • C 程序中的 .eh_frame 部分有什么用?

    我有一个从 C 程序编译的静态链接可执行文件 objdump x a out表明存在 eh frame部分 甚至在之后strip s 为什么本节在 C 语言中很有用 非 C 程序 有什么风险剥离它 与strip R eh frame 根据
  • 如何使用 http://translate.google.com/ 翻译 Java 程序中的字符串?

    我想用http translate google com http translate google com 翻译字符串 现在我想从 java 程序发送一个字符串http translate google com http translat
  • 无法反转链表

    我试图反转链表 但是每当我执行以下函数时 我只得到最后一个元素 例如 如果列表之前包含 11 12 13 执行该函数后 它只包含13 请指出我的代码中的错误 void reverselist struct node a b c a NULL
  • 设计者生成的表适配器如何处理连接

    表适配器如何使用连接 稍微解释一下 它们是否会自动打开和关闭连接 或者如果我在调用表适配器方法之前已经打开了连接 它们是否会使用它并使其保持打开状态 Regards 如果您查看设计器生成的代码 您会发现如果存在连接 适配器会重用它 否则会创
  • 我可以让 vim 尊重我的 .gitignore 文件吗?

    我想知道是否有一种方法可以让 vim 读取 gitignore 文件并使用它们来确定自动完成文件名时不显示的选项 例如 在 python 中工作 我不想看到可供编辑的 pyc 文件 我认为 vim 有它自己的机制 我想知道如何将 gitig
  • 使用 brfs 进行观看和捆绑而不使用 watchify 的命令

    我正在尝试复制的行为watchify与brfs变换 但我需要使用brfs直接因为我想避免在使用时添加到脚本中的额外代码require使用 browserify watchify 使用brfs直接简单替换require theFile 及其内
  • Rplot() 或 ggplot2() 中的对数 y 轴刻度线

    我看到了理想的刻度线结构log y 情节在这张纸 http arxiv org pdf cond mat 0412004 图3b 3c 3d 它具有不带标签的短的 对数间隔的小刻度线 以及带标签的长的 对数间隔的主刻度线 有谁知道如何实现这
  • 如何在 Go 中验证电子邮件地址

    我检查了 StackOverflow 但找不到任何可以回答的问题如何用 Go 语言验证电子邮件 经过一番研究 我根据自己的需要找出并解决了这个问题 我有这个regex and 转函数 效果很好 import fmt regexp func
  • jquery如何向图像添加图钉并将位置保存到SQL

    如何固定图像并保存固定位置 I found 这个插件 http jsfiddle net uKkRh 1 但我不知道如何保存这些引脚的位置 这个想法就像谷歌地图一样 用户可以在其中放置任意数量的图钉 并将这些图钉位置保存到数据库中 下次登录
  • 如何从命令行列出 Github 包注册表存储库中的所有包?

    假设我们有 Github 包注册表存储库https maven pkg github com someOrganization https maven pkg github com someOrganization 如何将此存储库中的所有包
  • 加快随机森林速度的建议

    我正在做一些工作randomForest包 虽然效果很好 但可能很耗时 有人对加快速度有什么建议吗 我使用的是带有双核 AMD 芯片的 Windows 7 盒子 我知道 R 不是多线程 处理器 但很好奇是否有任何并行包 rmpi snow
  • 如何更改 Gstreamer 插件的等级?

    我已经下载并编译了 vaapi 插件集 对于某些特定情况它工作得很好 但它也破坏了我现有的许多管道 我想先修改 Gstreamer 以使用其他解码器 有没有办法在不修改原始源的情况下改变 Gstreamer 插件的等级 我在 Gstream
  • JSF 2.0 中的显式 url 重定向

    我下面有以下两页 你好 xhtml 由 hello jsf url 呈现
  • 访问 MS Access 应用程序中的原始代码

    我一直在尝试查找一些有关访问 MS Access 中的原始代码的信息 我使用 v2007 但可能应该适用于所有版本 举例来说 我想列出应用程序中每个代码隐藏表单和模块中的所有函数并列出它们的参数 你将如何实现这一目标 注意 我当然假设该应用
  • 如何使用 jq 过滤 JSON 对象数组?

    我有以下 JSON 输入 zk kafka InstanceType t2 medium zkMemory 16 kafkaMemory 8 InstanceType t2 small zkMemory 8 kafkaMemory 4 es