假设我在一个Bash变量中有几个JSON对象:
json='{"key":"100"}{"key":"200"}{"key":"300"}'
要选择key
匹配100
的对象,我可以执行以下操作:
printf '%s\n' "$json" | jq 'select ( .key == "100" )'
正如@axiac在评论中指出的那样,我可以使用or
来匹配几个值中的一个。
printf '%s\n' "$json" | jq 'select(.key == "100" or .key == "200")
但是,如果我需要将key
与大量的值进行匹配,在这种情况下使用or
会变得很麻烦,那该怎么办?
什么代码会选择所有key
值在99到201之间的对象?
2条答案
按热度按时间k7fdbhmy1#
是否选择键值在99到201之间的所有对象?
将“between”解释为“strictly between”,一种方式是:
以匹配多个值中的一个
当可以将值指定为流时,也可以使用
IN/1
:当然,在当前情况下,上述第一解决方案(使用“0”)将更有效。
5jdjgkvh2#