json - 使用 jq 的条件输出
问题描述
我有如下 JSON 输入。
{"value":{"error":"no such element","message":"no such element: xxx"}
{"value":null}
对于第二种情况,我想使用jq
退出状态 0(不打印)返回,并打印no such element: xxx
到 stderr 并为第一种情况返回退出状态 1。
我不确定如何在jq
. 有人可以告诉我jq
如何做的代码吗?谢谢。
解决方案
指定退出代码的一种方法是使用内置过滤器halt_error
。据我了解,为了满足您的规格,您可以这样写:
.value
| if . then .error | halt_error(1)
else null | halt_error(0)
end
请参阅jq 手册了解详细信息并探索变体(例如添加“\n”)。
推荐阅读
- database - Flutter:自动更新数据
- javascript - Typescript 在 json 中使用枚举
- android - 如何将图像的宽度设置为 imageView android
- node.js - 将 YouTube 共享链接转换为在我的项目中嵌入链接
- c - 为什么 cmov 总是返回 t_val?
- php - 将新列添加到 WooCommerce 管理产品列表,其中包含销售产品的折扣百分比
- xml - 解析 XSD 以获取节点列表
- c# - 创建线程会增加功耗和 CPU 消耗
- spring - 关于春季休息日期
- javascript - Nodejs - 使用 docker rest api 的调用