这个问题的延伸:如何组合 JSON 值中的字符串,仅保留字符串的一部分?
上面链接的输出还包括"name"
offolder
类型,需要排除这些"type"
:
"date_added": "13170994909893393",
"date_modified": "13184204204228233",
"id": "2098",
"name": "ElasticSearch",
"sync_transaction_version": "1",
"type": "folder"
如何仅获取"type"
同一对象的字段 if "url"
,否则忽略:
将放入输出中的有效模式:
"type": "url",
"url": "https://url_here"
答案1
给定一个对象数组,jq
可以使用 来选择满足特定条件的对象select()
。
听起来你可能想使用
.array[] | select(.type == "url")
给定一个 JSON 文档,例如
{ "array": [ { "type": "folder", "name": "example folder" },
{ "type": "url", "name": "example url" } ] }
上面的查询将返回
{
"type": "url",
"name": "example url"
}