我有这行代码按预期工作:

echo '{"slot":"we"}' | jq -re '.slot' || exit 1

然而,尽管我预料到会,但此代码并没有引发错误:

echo ' ' | jq -re '.slot' || exit 1

这也不是:

echo '' | jq -re '.slot' || exit 1

如果找不到slot密钥,如何确保它会引发错误?我的意思是,在最后两个例子中,退出代码都是0

enter image description here

推荐答案

您的代码在jq 1.7中运行良好.如果您使用jq 1.6,您需要这个:

jq -nre 'inputs.slot'

Json相关问答推荐

使用WSO2 JsonTransform Mediator对空值执行JsonExceptionUndeletedOperationException

如何使用PlayWriter循环访问JSON对象

将PNG图像保存为Python中的JSON文件

Python 将 struct 化文本转换和筛选为对象

使用Powershell将JSON文件加载到SQL Server表格

JOLT 转换仅过滤一个字段

嵌套存储在字符串变量中的 JSON 对象

使用 jq 获取特定键的所有父键

如何从条带订阅响应对象中正确获取 struct 项?

在循环中将变量添加到 bash 数组

解析包含换行符的 JSON

如何使用 json.net 将数据表转换为 json 字符串?

JSON对象中的JavaScript递归搜索

Jackson JSON序列化,通过级别定义避免递归

请求返回字节,我无法解码它们

如何将 mysqli 结果转换为 JSON?

Javascript:如何判断 AJAX 响应是否为 JSON

在 .NET 中缩小缩进的 JSON 字符串

仅使用字符串和值解析 JSON 对象

从 JSON 中 Select 不同的值