如何使用pyrae库提取JSON嵌套结构中'sentence'键的值?
解决pyrae获取释义后提取sentence文本值的问题
问题原因
直接访问data['sentence']触发错误,是因为sentence并非顶级数据键,它嵌套在articles数组第一个元素的definitions子数组的每个对象中。
提取代码示例
假设你解析后的Python对象名为parsed_data,可以通过以下代码提取所有sentence对应的text值:
# 先定位到第一个article的definitions列表 definitions = parsed_data.get('articles', [])[0].get('definitions', []) # 遍历提取所有sentence的text值(带容错处理) sentence_texts = [] for item in definitions: sentence = item.get('sentence') if sentence and 'text' in sentence: sentence_texts.append(sentence['text']) # 或者用更简洁的列表推导式 sentence_texts = [ item['sentence']['text'] for item in definitions if 'sentence' in item and 'text' in item['sentence'] ]
说明
- 使用
get方法可以避免因键不存在触发的KeyError,提升代码鲁棒性 - 列表推导式适合在确定数据结构稳定的场景下使用,代码更紧凑
内容的提问来源于stack exchange,提问作者FreddicMatters
相关产品推荐
相关产品推荐

