Python JSON扁平化:识别items层级数据类型并访问指定键
访问items中字典的指定键
既然已经确认data['_embedded']['items']里的每个元素都是字典,直接遍历后通过键名访问即可,推荐用dict.get()方法避免键不存在时抛出异常:
# 遍历items下的每个字典元素 for item in data['_embedded']['items']: # 直接访问键(适用于确定键一定存在的场景) identifier = item['identifier'] enabled = item['enabled'] family = item['family'] # 用get方法做安全访问,键不存在时返回自定义默认值 identifier_safe = item.get('identifier') enabled_safe = item.get('enabled', False) # 给enabled设置默认布尔值 family_safe = item.get('family', 'unknown') # 给family设置默认字符串 # 处理获取到的值,比如打印查看 print(f"标识: {identifier}, 启用状态: {enabled}, 分类: {family}")
如果需要批量提取这些键到结构化列表中,可以用列表推导式:
# 批量提取所有item的指定键到列表 item_details = [ { 'identifier': item.get('identifier'), 'enabled': item.get('enabled'), 'family': item.get('family') } for item in data['_embedded']['items'] ] # 查看批量提取的结果 print(item_details)
get()方法的优势在于,当目标键不存在时不会触发KeyError,而是返回None或者你指定的默认值,比直接用item['key']的写法更稳健。
内容的提问来源于stack exchange,提问作者Greencolor
相关产品推荐
相关产品推荐

