Python检查JSON中字符串存在性:代码出现KeyError问题咨询
解决JSON遍历中的KeyError问题
你的代码出现KeyError,是因为遍历的部分字典对象中不存在username或content键——JSON返回的数据里,可能有些条目缺失了这些字段。
以下是几种可行的解决方法:
方法1:使用字典的get()方法安全取值
get()方法会在键不存在时返回指定默认值(默认是None),避免抛出异常:
import json data = json.loads(r.text) for value in data: if value.get('username') == 'GDjkhp': # 若content不存在,显示默认文本"无内容" content = value.get('content', '无内容') print(content, '\n')
方法2:先判断键是否存在再访问
用in关键字检查键是否存在,确保访问字典键前不会出错:
import json data = json.loads(r.text) for value in data: # 先确认username存在且匹配 if 'username' in value and value['username'] == 'GDjkhp': if 'content' in value: print(value['content'], '\n') else: print('该条目缺少content字段\n')
方法3:捕获异常并排查异常数据
如果预期所有JSON条目都应该包含username和content,可以捕获异常并打印出有问题的数据,方便排查:
import json data = json.loads(r.text) for idx, value in enumerate(data): try: if value['username'] == 'GDjkhp': print(value['content'], '\n') except KeyError as e: print(f"第{idx}条数据缺失键:{str(e)},数据内容:{value}")
内容的提问来源于stack exchange,提问作者GDjkhp
相关产品推荐
相关产品推荐

