Python遍历嵌套JSON数据遇KeyError,求正确迭代方法
解决Python遍历JSON数据的KeyError问题
Hey James,我一眼就看到问题出在哪啦!你之所以会遇到KeyError: 'description',核心是没理清JSON数据的层级结构~
咱们再拆解下你提供的JSON:models数组里的每一个元素,都是一个包含model键的对象,而你要找的modelCode和description,其实藏在这个model键对应的子字典里。你之前直接用model['description'],相当于跳过了model这一层,自然找不到目标键啦。
修正后的完整代码
import json with open('data/stack.json') as f: data = json.load(f) # 定位到models数组 models = data['pfcProductfeed']['productfeed']['models'] # 遍历数组中的每个元素 for item in models: # 先取出model对应的子字典 current_model = item['model'] # 现在可以正常访问目标键值对了 print(f"Model Code: {current_model['modelCode']}, Description: {current_model['description']}")
小技巧提示
你之前注释掉的print(json.dumps(model, indent=4, sort_keys=True))其实特别实用!下次遇到JSON结构困惑时,先打印单个元素的完整结构,就能直观看到键的层级关系,避免踩这类层级遗漏的坑~
内容的提问来源于stack exchange,提问作者James Stoddern
相关产品推荐
相关产品推荐

