2017-02-11 31 views
0

内阵列中我有一个JSON文件这样对象的数组:如何筛选基于字符串的值与JQ

[{ "path": "p1" "title": "t1" "tags": ["tags1"] }, { "path": "p2" "title": "t2" "tags": ["tags1", "tag2"] }, { "path": "p3" "title": "t3" "tags": ["tags2"] } ] ,我希望(使用jq)的值基于标记过滤并获得标题作为输出。

举例来说,我会过滤所有具有tags1(和输出将t1t2)的值。

我该怎么做?

谢谢你的回答。

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

回答

0

整流JSON输入后,以下滤波器产生如下所示的输出:

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

输出:

"t1" 
"t2"