如何用Python根据JSON字段值条件添加新字段
Python条件性为JSON添加字段实现
实现思路
- 将JSON字符串解析为Python字典,便于字段修改操作
- 初始化新增的
problems数组字段 - 遍历
details中的条目,根据预设条件判断并向problems添加对应内容 - 将修改后的字典转换回格式化的JSON字符串
代码示例
import json # 原始JSON数据 raw_json = ''' { "id":"x2342345ap", "quantity":1, "timestamp":"2022-09-26", "details":[ { "name":"robert", "color":"red", "age": 25 } ] } ''' # 解析JSON为Python字典 data = json.loads(raw_json) # 初始化problems字段 data['problems'] = [] # 定义允许的颜色列表(可根据实际需求调整) allowed_colors = ['blue', 'green'] # 检查details中的每个条目 for detail in data['details']: # 检查name字段:不等于James则添加问题 if detail.get('name') != 'James': data['problems'].append('ugly name') # 检查color字段:不在允许列表则添加问题 if detail.get('color') not in allowed_colors: data['problems'].append('ugly color') # 转换为格式化的JSON字符串 result_json = json.dumps(data, indent=2) print(result_json)
代码说明
- 使用
json.loads()将JSON字符串转为Python字典,方便进行字段增改操作 - 用
detail.get('字段名')替代直接索引,避免字段不存在时抛出KeyError - 遍历
details数组,支持处理多个详情条目的场景 - 最后通过
json.dumps()将字典转回格式化的JSON,保证输出结构清晰
内容的提问来源于stack exchange,提问作者Robert
相关产品推荐
相关产品推荐

