【问题标题】:How to select multiple values in an array in json using jq如何使用jq在json中的数组中选择多个值
【发布时间】:2020-07-01 20:08:52
【问题描述】:

Am 使用 jq 使用以下命令从 JSON 文件中获取多个响应。

.components| to_entries[]| "\(.key)- \(.value.status)"

这给了我下面

Server2- UP

server1 - 启动

Splunk-UP

Datameer - 向上

Platfora - 向上

diskSpace- 好

但我想只选择几个我尝试在 to_entries[] 大括号中给出但没有用的。

预期输出:

服务器 1 - 已启动

Splunk-UP

Platfora - 向上

有没有办法只选择几个值。 感谢你的帮助。谢谢。

【问题讨论】:

  • 首先,请使用具有代表性的 json 样本编辑您的问题。第二,“我只想选几个”是什么意思?从示例 json 中,您的确切预期输出是什么?
  • 请添加实际的json;不是图像。我们不能处理图像,只能处理代码。

标签: json select jq


【解决方案1】:

使用 -r 命令行选项,以下将给定的输入转换为所需的输出,并且可能与您要查找的内容接近:

.components
| to_entries[]
| select(.key == ("server1", "Splunk", "Platfora"))
| "\(.key)- \(.value.status)"

如果组件列表以 JSON 列表的形式提供,那么您可以相应地修改选择标准,例如使用IN(大写)或index

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-21
    • 2016-09-30
    • 1970-01-01
    相关资源
    最近更新 更多