Shell脚本中curl返回值的JSON校验逻辑修正需求
修正后的变量校验脚本逻辑
以下是符合需求的校验逻辑,同时修正了你原脚本的错误:
val=$(curl command ...) # 校验返回值为null的情况 if [[ "${val}" == "null" ]]; then echo "data is null" exit 1 fi # 校验返回值为JSON对象的情况 if [[ "${val}" =~ ^\{.*\}$ ]]; then echo "data not parsed correctly" exit 1 fi # 后续正常业务逻辑 # ...
关键修正点:
- 原脚本将
null的错误提示写成了data not parsed correctly,现在对应改为正确的data is null - 新增JSON对象的校验逻辑:通过正则表达式
^\{.*\}$判断变量是否以{开头、}结尾,匹配标准JSON对象格式 - 变量引用时添加双引号
"${val}",避免因返回值包含空格、特殊字符导致的判断失效
内容的提问来源于stack exchange,提问作者meallhour
相关产品推荐
相关产品推荐

