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

curl调用JSON接口后,如何规范提取内层对象的键值对?

规范提取JSON返回中result字段的方法

我通过curl发起JSON接口调用,得到如下返回数据:

{
    "result": {
        "today_runtime": 830,
        "month_runtime": 39991,
        "today_energy": 1293,
        "month_energy": 55326,
        "local_time": "2022-11-27 13:50:54",
        "electricity_charge": [0, 0, 0],
        "current_power": 93860
    },
    "error_code": 0
}

目前手动移除{'result': 和, 'error_code': 0}后可成功提取内层键值对,但希望了解更规范的自动化提取方法。


推荐方法:使用jq命令行工具

jq是专门为JSON数据设计的处理工具,是处理这类场景的标准方案,兼容性强且容错性高。

提取完整的result内容

直接通过字段路径定位提取,保留JSON格式:

curl "你的接口地址" | jq '.result'

压缩输出为单行

如果需要紧凑的单行格式,添加-c参数:

curl "你的接口地址" | jq -c '.result'

提取单个字段

如果只需要某个具体字段的值,比如today_energy:

curl "你的接口地址" | jq '.result.today_energy'

备选方法:Python脚本处理

如果环境中有Python,可通过脚本实现灵活的JSON解析:

import json
import sys

# 读取标准输入的JSON数据
raw_data = sys.stdin.read()
parsed_data = json.loads(raw_data)

# 格式化输出result字段内容
print(json.dumps(parsed_data['result'], indent=4))

将上述代码保存为extract_result.py,执行命令:

curl "你的接口地址" | python extract_result.py

临时方案:文本处理工具(不推荐)

如果无法使用专业JSON工具,且返回格式完全固定,可通过grep+sed临时处理,但该方法对JSON格式变化容错性极低:

curl "你的接口地址" | grep -A7 "'result': {" | tail -n +2 | head -n -1 | sed 's/^    //'

内容的提问来源于stack exchange,提问作者Adrian M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 00:01:14