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

如何用Python从嵌套JSON数据中提取最内层的最终值?

如何用Python稳定提取嵌套JSON的最内层值

嘿,要解决这个问题其实不难,核心思路就是递归遍历嵌套的字典结构,一直钻到最底层的非字典值就行。毕竟你的输入都是单路径的嵌套JSON(每一层都只有一个键值对往下走),所以这个方法能稳定拿到你要的最终值。

具体实现步骤

  1. 解析JSON字符串:首先把列表里的JSON字符串转换成Python的字典对象,用json模块的loads()方法。
  2. 递归查找最内层值:写一个函数,判断当前对象是不是字典——如果是,就继续遍历它的值并递归;如果不是,就返回这个值(这就是最内层的目标值)。

完整代码示例

import json

def get_inner_most_value(obj):
    # 如果当前对象是字典,继续深入遍历它的值
    if isinstance(obj, dict):
        # 因为你的结构是单路径嵌套,直接取第一个值递归即可
        for value in obj.values():
            return get_inner_most_value(value)
    # 不是字典,说明已经到最内层,返回当前值
    else:
        return obj

# 测试第一种情况
data1 = ['{"osc":{"version":"1.0"}}']
parsed_data1 = json.loads(data1[0])
print(get_inner_most_value(parsed_data1))  # 输出: 1.0

# 测试第二种情况
data2 = ['{"device":{"network":{"ipv4_dante":{"auto":"testing"}}}}']
parsed_data2 = json.loads(data2[0])
print(get_inner_most_value(parsed_data2))  # 输出: testing

补充说明

如果你的JSON结构偶尔会出现多分支(比如某一层有多个键值对),这个函数会返回第一个分支的最内层值。如果需要处理这种情况,可以修改函数,比如收集所有最内层值返回一个列表——不过根据你给出的例子,单路径的情况用上面的代码就完全够用啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:15:30