过滤掉我需要的键并创建一个新数组
Filter out keys I need and create a new array
{
"Key": "value"
"Results": [
{
"KeyIwant":"value"
...
}
]
}
我想获取仅包含我指定的键及其值的对象列表。
到目前为止,我已经从互联网上找到了一些东西,但它创建的是对象而不是列表,而且没有逗号。
jq '.Results | .[] | with_entries(select([.key] | inside(["key","key2", "key3"])))' input.json
为了提高效率,您可以使用 IN
:
[.Results[]|with_entries(select(.key|IN("KeyIwant","etc"))) ]
如果你想让白名单呈现为JSON数组,比如$w,那么写IN($w[])
{
"Key": "value"
"Results": [
{
"KeyIwant":"value"
...
}
]
}
我想获取仅包含我指定的键及其值的对象列表。
到目前为止,我已经从互联网上找到了一些东西,但它创建的是对象而不是列表,而且没有逗号。
jq '.Results | .[] | with_entries(select([.key] | inside(["key","key2", "key3"])))' input.json
为了提高效率,您可以使用 IN
:
[.Results[]|with_entries(select(.key|IN("KeyIwant","etc"))) ]
如果你想让白名单呈现为JSON数组,比如$w,那么写IN($w[])