使用 jq select 元素和包含一些字符串的键,键保留在结果中

Mir*_*nda 6 select json key jq

我有一个嵌入在此链接jq-play 中的 JSON 内容。JSON 内容很大,这里无法容纳。

目前,我设法通过

[.[keys[] | select(contains("VMIMAGE"))]]
Run Code Online (Sandbox Code Playgroud)

但是键名,即结果CP-COMPUTEENGINE-VMIMAGE-F1-MICRO中不存在。我如何得到它?

pea*_*eak 13

看起来您想通过仅选择包含特定字符串的那些键来对对象进行“切片”。使用您的查询作为模型,这可以最容易地使用表单查询来完成with_entries( select(...) ),例如:

.gcp_price_list
| with_entries( select(.key|contains("VMIMAGE")))
Run Code Online (Sandbox Code Playgroud)