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

Python中是否可以通过变量存储的JSON路径获取对应数据?

解决方案

不要将取值路径存储为字符串格式,依赖eval执行不仅有安全隐患,也不方便后续调试和异常处理。你可以把路径的每一层拆分为元组元素存储,搭配一个通用的嵌套取值函数即可实现需求。

基础实现代码

1. 定义通用取值函数

def extract_by_path(data, path):
    current_node = data
    for segment in path:
        current_node = current_node[segment]
    return current_node

2. 调整路径字典的存储格式

paths_to_data = {
    "author": ("Items", 0, "AttributeSets", 0, "Author"),
    "actor": ("Items", 0, "AttributeSets", 0, "Actor"),
    "format": ("Items", 0, "AttributeSets", 0, "Format")
}

3. 批量提取字段

api_response = api_request(query)
cleaned_response = {}

for field_name, path in paths_to_data.items():
    cleaned_response[field_name] = extract_by_path(api_response, path)

可选容错优化

如果部分路径可能不存在,你可以给函数增加异常捕获逻辑,匹配不到时返回默认值,避免程序直接报错:

def extract_by_path(data, path, default=None):
    try:
        current_node = data
        for segment in path:
            current_node = current_node[segment]
        return current_node
    except (KeyError, IndexError, TypeError):
        return default

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 03:45:02