【问题标题】:How to filter an array of objects based on values of string in an inner array with jq如何使用jq根据内部数组中的字符串值过滤对象数组
【发布时间】:2017-06-29 20:59:14
【问题描述】:

我有一个这样的 json 文件:

[{ "path": "p1" "title": "t1" "tags": ["tags1"] }, { "path": "p2" "title": "t2" "tags": ["tags1", "tag2"] }, { "path": "p3" "title": "t3" "tags": ["tags2"] } ] 我想根据标签过滤(使用jq)值并获取标题作为输出。

例如,我将过滤所有具有 tags1 的值(输出将是 t1t2)。

我该怎么做?

感谢您的回答。

附: :我发现这个问题:How to filter an array of objects based on values in an inner array with jq? 几乎有答案,但我无法适应它。

【问题讨论】:

    标签: json jq


    【解决方案1】:

    在纠正 JSON 输入后,以下过滤器产生如下所示的输出:

    .[] | select( .tags | index("tags1") ) | .title
    

    输出:

    "t1"
    "t2"
    

    【讨论】:

      猜你喜欢
      • 2014-12-29
      • 2021-06-23
      • 2020-08-15
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多