You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何读取类JSON格式日志的值?jq解析失败问题求助

问题根源

你日志里的内容不是标准JSON格式,而是Python字典的字符串表示(带u'前缀、单引号、大写True),jq仅支持解析标准JSON,因此触发解析错误。

解决方法

方法1:用Python转换为标准JSON(推荐,适配所有场景)

利用Python能直接解析这种格式的特性,先转成标准JSON再用jq处理:

echo "$log" | python3 -c "import sys, json; print(json.dumps(eval(sys.stdin.read())))" | jq '.command_log'

方法2:用sed做字符串替换(仅适合无特殊字符的简单场景)

如果日志内容里没有单引号、特殊转义字符,可以直接替换格式差异:

echo "$log" | sed -e "s/u'/\"/g" -e "s/'/\"/g" -e "s/True/true/g" | jq '.command_log'

替换规则:

  • 把u'替换为双引号"
  • 把剩余的单引号'替换为双引号"
  • 把Python布尔值True替换为JSON小写true

内容的提问来源于stack exchange,提问作者archana k

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 19:24:57