【发布时间】:2015-10-28 11:48:29
【问题描述】:
我正在尝试为 JSON 创建一个 jq 过滤器,类似于 How to filter an array of objects based on values in an inner array with jq? - 但即使使用它作为基础似乎也没有给我想要的结果。
这是我的示例 json
[{"id":"0001","tags":["one","two"]},{"id":"0002", "tags":["two"]}]
我想返回一个 ID 列表,其中标签包含“one”(不是部分字符串匹配,而是完整元素匹配)。
我尝试了一些变体,但无法正确过滤。
. - map(select(.resources[] | contains("one"))) | .[] .id
返回"0001","0002"
也尝试过... .resources[].one)) | ...,但在尝试按“一”过滤时总是得到完整列表并期望只得到0001
我在哪里过滤错误? (有大约 30 分钟的 jq 经验,所以如果很明显,请原谅我的无知 :)
【问题讨论】: