在Python中解析多层级JSON 实现item与products同级结构转换
多层级JSON提级处理实现
实现逻辑
- 首先提取
products节点下除item之外的所有公共属性,保证生成的每条数据都携带相同的公共字段 - 遍历
products.item数组的每个元素,将当前item的属性与公共属性合并,生成单条扁平化数据 - 所有合并后的对象存入结果数组,即为和原
products同级的item数据集
现有代码问题
你当前编写的代码仅完成了item数组的提取功能,未实现属性合并、提级生成多条数据的核心需求,同时存在语法问题:number变量未初始化、while循环语句末尾缺少冒号。
完整可运行代码
result = [] # 提取products下排除item的公共属性 common_props = {key: val for key, val in event["products"].items() if key != "item"} # 遍历每个item生成对应数据 for single_item in event["products"]["item"]: # 合并属性避免公共属性被修改 temp = common_props.copy() temp.update(single_item) result.append(temp)
效果示例
输入结构:
{"products": {"item_id": 1001, "supplier": "官方店", "item": [{"sku_id": 2001, "price": 99}, {"sku_id": 2002, "price": 129}]}}
输出结果:[{"item_id": 1001, "supplier": "官方店", "sku_id": 2001, "price": 99}, {"item_id": 1001, "supplier": "官方店", "sku_id": 2002, "price": 129}]
内容的提问来源于stack exchange,提问作者pottttttossss
相关产品推荐
相关产品推荐

