我有如下 JSON 输入。
{"value":{"error":"no such element","message":"no such element: xxx"}{"value":null}对于第二种情况,我想使用jqreturn 退出状态为 0(不打印任何内容),并打印no such element: xxx到 stderr 并为第一种情况返回退出状态 1。
我怎样才能实现这一目标jq?
指定退出代码的一种方法是使用内置过滤器halt_error。为了满足我所理解的您的规格,您可以这样写:
.value
| if . then .error | halt_error(1)
else null | halt_error(0)
end
Run Code Online (Sandbox Code Playgroud)
有关详细信息并探索变体(例如添加“\n”),请参阅jq 手册。