jq if ifelse
时间: 2024-04-25 21:20:35 浏览: 235
ifelse.java
jq 是一个轻量级的命令行 JSON 处理器,if、ifelse 是 jq 中的条件判断语句。
if 语句的语法为:
```
if <condition> then <consequent> else <alternative> end
```
当 `<condition>` 成立时,执行 `<consequent>`;否则执行 `<alternative>`。
例如:
```
jq 'if .name == "Alice" then "Hello Alice!" else "Who are you?" end' <<< '{"name": "Alice"}'
```
输出结果为:
```
"Hello Alice!"
```
ifelse 语句的语法为:
```
if <condition> then <consequent> elif <condition> then <consequent> else <alternative> end
```
当第一个 `<condition>` 成立时,执行第一个 `<consequent>`;否则继续判断下一个 `<condition>`,直到有一个成立为止,执行其对应的 `<consequent>`;如果所有 `<condition>` 都不成立,则执行 `<alternative>`。
例如:
```
jq 'if .score >= 90 then "A" elif .score >= 80 then "B" elif .score >= 70 then "C" else "D" end' <<< '{"score": 85}'
```
输出结果为:
```
"B"
```
阅读全文