select(.key="value") 甚至发出不匹配的项目

select(.key="value") emits even non-matching items

我有以下test.json

{"type":"RECORD","record":{"key_A": "apples","key_B":"bananas"}}
{"type":"RECORD","record":{"key_A": "apples","key_B":"oranges"}}

然后看下面的命令和输出。

cat test.json | jq 'select(.record.key_B="oranges")' 
{
  "type": "RECORD",
  "record": {
    "key_A": "apples",
    "key_B": "bananas"
  }
}
{
  "type": "RECORD",
  "record": {
    "key_A": "apples",
    "key_B": "oranges"
  }
}

我希望它只输出匹配 select 的记录 - .record.key_B = oranges 所以只有第一条记录。我该怎么做?

= 是赋值运算符。 == 是一个 equality-comparison 运算符。

你想要select(.record.key_B == "oranges").