假设我有这样的数据:
{
"18" : [ 2, 3, 3 ],
"28" : [ 2, 2, 7 ],
"45" : [ 3, 3, 5 ]
}
我想做一个jq
查询,返回包含给定值的数组的对象的键/键。例如,2存在于键“18”和“28”中,而7存在只存在于“28”中。这是我有兴趣查找的父对象的名称。我已经阅读了手册,但似乎找不到这样的例子。
假设我有这样的数据:
{
"18" : [ 2, 3, 3 ],
"28" : [ 2, 2, 7 ],
"45" : [ 3, 3, 5 ]
}
我想做一个jq
查询,返回包含给定值的数组的对象的键/键。例如,2存在于键“18”和“28”中,而7存在只存在于“28”中。这是我有兴趣查找的父对象的名称。我已经阅读了手册,但似乎找不到这样的例子。
仅使用
map_values
给定 valueselect
的数组,然后提取这些数组的键:contain
$val
contains()
如果给定数组 ( ) 完全包含在函数的输入中,则返回true 。[$val]
如果对输入中的数组contains()
返回trueselect()
,则将返回该数组。我
map_values()
用来执行与输入对象中的键关联的数组的选择。这将为我提供一个精简的对象,其中包含通过选择的数组,然后将结果传递keys
给我一个键数组,我将其解压缩为一组松散的字符串,最后[]
.对于给定的输入数据,以 2 作为 的值
$val
,返回我使用
--argjson
而不是--arg
将值 2 传递给表达式,$val
因为数据是数字,而不是字符串。