Python处理JSON嵌套结构需理解dict/list组合逻辑,通过json.loads()解析后,用get()安全访问、递归搜索提取字段,或setdefault/deepcopy稳妥修改。
Python处理JSON嵌套结构,核心在于理解字典与列表的组合逻辑,再配合安全访问和递归遍历。
JSON数据解析后,在Python中通常变为dict(对象)或list(数组),二者可任意嵌套。例如:
原始JSON片段:
{ "user": { "id": 1001,
"profile": {
"name": "Alice",
"tags": ["python", "json", "api"]
}
},
"logs": [
{"action": "login", "time": "2025-06-01T08:30:00"},
{"action": "update", "time": "2025-06-01T09:15:00"}
]
}
用json.loads()加载后,即可按层级用键或索引访问:
立即学习“Python免费学习笔记(深入)”;
直接链式取值容易出错。推荐使用get()方法+默认值,或try/except兜底:
当嵌套深度不确定、需提取全部"id"或"name"时,写一个轻量递归函数更可靠:
def find_values(data, key):调用:
list(find_values(data, "name")) → ['Alice']
list(find_values(data, "id")) → [1001]
不建议直接深层赋值(如data["user"]["profile"]["tags"].append("debug"))除非确认路径存在。更稳妥的做法是: