如何在不使用JMESPath的情况下提取JSON中的code字段值
提取JSON中code字段值的替代方法
因为JMESPath不可用,这里提供几种实用的替代方案:
1. 使用 jq 命令行工具
这是处理JSON的常用工具,语法简洁直接:
echo '{ "kind":"testObject", "spec":{ }, "status":{ "code":"503" } }' | jq -r '.status.code'
执行后直接输出:503
-r参数用于输出不带引号的原始字符串
2. 使用 Python 脚本
如果系统有Python环境,可通过简单脚本处理:
import json json_data = '''{ "kind":"testObject", "spec":{ }, "status":{ "code":"503" } }''' data = json.loads(json_data) print(data['status']['code'])
运行脚本后输出 503
3. 使用 awk/sed 组合(适合固定格式的简单场景)
如果没有专门的JSON工具,可借助文本处理工具(注意:仅适用于结构固定的JSON,复杂场景可能失效):
echo '{ "kind":"testObject", "spec":{ }, "status":{ "code":"503" } }' | awk -F '"' '/"code"/{print $4}'
该命令通过匹配含"code"的行,以双引号为分隔符提取目标字段,输出503
内容的提问来源于stack exchange,提问作者honzito
相关产品推荐
相关产品推荐

