相关疑难解决方法(0)

检查string是否是带有jq的有效JSON

我需要在解除服务时发现错误.响应可以是null一个字符串错误消息

error services-migration/foobar: Not found: services-migration/foobar

一切都很好,或有效的JSON.我想知道是否有办法jq简单地检查提供的字符串是否是有效的JSON.我可以检查字符串中的某些关键字,比如errorfe,但我正在寻找一个更强大的选项,例如.我得到一个true/false1/0从jq.我正在查看jq有关SO 的文档和一些问题但是所有内容都是关于从JSON中查找和选择键值,但没有关于简单地验证字符串的内容.

更新:

我有这个:

 result=$(some command)
Run Code Online (Sandbox Code Playgroud)

结果是字符串 error services-migration/foobar: Not found: services-migration/foobar

然后if语句:

 if jq -e . >/dev/null 2>&1 <<<"$result"; then
    echo "it catches it"
 else
    echo "it doesn't catch it"
 fi
Run Code Online (Sandbox Code Playgroud)

它总是在else条款中结束.

bash json jq

23
推荐指数
3
解决办法
2万
查看次数

标签 统计

bash ×1

jq ×1

json ×1