如何从现有JSON值生成指定字段的列表?
搞定JSON字段转列表的小需求
嘿,我来帮你解决这个问题!你想要把JSON里的team_members字段从逗号分隔的字符串转换成列表格式,用Python的json模块就能轻松实现,下面是具体的步骤和代码:
实现思路
- 先把原始JSON文件读进来,转成Python能操作的字典列表
- 逐个遍历每个团队条目,把
team_members的字符串按逗号拆成列表,顺便去掉每个名字前后的空格 - 把处理好的数据写回JSON文件就行
完整代码示例
import json # 读取你的原始JSON文件 with open('input.json', 'r') as input_file: teams_data = json.load(input_file) # 处理每个团队的成员字段 for team in teams_data: # 分割字符串+去除空格,一步到位 team['team_members'] = [name.strip() for name in team['team_members'].split(',')] # 写入处理后的JSON文件(可以覆盖原文件,也可以写新文件) with open('output.json', 'w') as output_file: json.dump(teams_data, output_file, indent=4) # indent=4让JSON格式更整齐
代码小解释
json.load():把JSON文件的内容转成Python的列表对象,这样我们就能直接修改里面的字段了split(','):把逗号分隔的字符串拆成列表,比如"Ali Smith, Jon Doe"会变成["Ali Smith", " Jon Doe"]name.strip():去掉每个名字前后的空格,避免出现" Jon Doe"这种带多余空格的元素json.dump(..., indent=4):把处理好的Python对象转回JSON格式,加个缩进让输出看起来更舒服
最终效果
运行完代码后,你的JSON文件就会变成你想要的样子:
[ { "team_name": "Journalist", "team_members": [ "Ali Smith", "Jon Doe" ] }, { "team_name": "Journalist & Media", "team_members": [ "A Smith", "Micheal P" ] }, { "team_name": "Photography", "team_members": [ "Micheal P", "Adam A" ] } ]
记得把代码里的input.json和output.json换成你实际使用的文件名哦~
内容的提问来源于stack exchange,提问作者sharp
相关产品推荐
相关产品推荐

