我有一个像这样的json文件:
[{
"path": "p1"
"title": "t1"
"tags": ["tags1"]
},
{
"path": "p2"
"title": "t2"
"tags": ["tags1", "tag2"]
},
{
"path": "p3"
"title": "t3"
"tags": ["tags2"]
}
]
我想根据标签过滤(使用jq
)值并将标题作为输出。
例如,我会过滤所有包含 tags1 的值(输出为t1
和t2
)。
我该怎么做?
感谢您的回答。
P.S。 :我发现了这个问题:How to filter an array of objects based on values in an inner array with jq?几乎有答案,但我无法适应它。
答案 0 :(得分:0)
在纠正JSON输入后,以下过滤器生成如下所示的输出:
.[] | select( .tags | index("tags1") ) | .title
输出:
"t1"
"t2"