我有一个数组,我需要检查该数组中是否存在元素,或者使用jq, fruit.json 从数组中获取该元素:
{ "fruit": [ "apple", "orange", "pomegranate", "apricot", "mango" ] } cat fruit.json | jq '.fruit .apple'
不起作用
“包含”的语义一点都不简单。通常,最好使用“索引”来测试数组是否具有特定值,例如
.fruit | index( "orange" )
如果您的jq有IN/1更好的解决方案,则使用它:
IN/1
.fruit as $f | "orange" | IN($f[])
如果您的jq具有first/1(与jq 1.5一样),那么这里是一个IN/1使用的快速定义:
first/1
def IN(s): first((s == .) // empty) // false;