如何批量为多行JSON数据的指定字段添加内容及新增字段?
批量修改JSON数据的几种实用方法
针对你需要给数百条JSON对象的ref字段值加/、新增item_count: 1的需求,这里给你三种直接可用的方案:
方案一:Python脚本(灵活通用)
先把你的原始JSON数据整理成合法的JSON数组(给外层套个[],同时修复第二个对象里"name": "100"后面缺失的逗号),保存为input.json,然后运行以下脚本:
import json # 读取原始JSON文件 with open('input.json', 'r', encoding='utf-8') as f: data = json.load(f) # 遍历修改每个对象 for item in data: # 给ref值末尾加/ if 'ref' in item: item['ref'] = item['ref'] + '/' # 新增item_count字段 item['item_count'] = 1 # 写入修改后的JSON文件 with open('output.json', 'w', encoding='utf-8') as f: json.dump(data, f, indent=2)
运行后就能得到符合要求的output.json。
方案二:VS Code正则替换(编辑器直接操作)
- 先把原始数据里的语法错误修正(给
"name": "100"后面加逗号),全选数据粘贴到VS Code中。 - 按下
Ctrl+F打开查找框,点击右上角的正则表达式按钮(.*图标)。 - 查找内容输入:
"ref": "([^"]+)" - 替换内容输入:
"ref": "$1/",\n "item_count": 1 - 点击「替换全部」,就能批量完成修改。
方案三:jq命令行工具(终端快速处理)
如果你熟悉终端操作,用jq工具最快捷:
- 先把原始数据整理成合法JSON数组,保存为
input.json。 - 在终端执行命令:
jq '.[] | .ref += "/" | .item_count = 1' input.json > output.json
执行后output.json就是修改好的结果。
内容的提问来源于stack exchange,提问作者Johnathan Simpson
相关产品推荐
相关产品推荐

