如何在Sublime Text中为JSON数组的每个对象添加新键值对?
嘿,我来帮你搞定在Sublime Text里给USDA营养JSON数组的每个对象插入新键值对的事儿!最直接的方法就是用正则表达式替换,不用装任何插件就能搞定,步骤如下:
方法一:正则替换(最推荐)
假设你的JSON是标准的数组格式,每个对象类似 { "name": "Butter, salted", ... },我们可以精准定位每个对象的位置插入新键值对:
- 打开你的JSON文件,按下
Ctrl+H(Windows/Linux)或Cmd+H(Mac)调出替换面板。 - 点击面板左下角的「.*」按钮(或者按
Alt+R/Cmd+Option+R),开启正则表达式模式。 - 根据你的插入需求选择匹配规则:
- 如果想在
name字段后插入(最贴合你给的示例结构):
在「Find What」里输入:
在「Replace With」里输入(把(\{\s*"name": "[^"]+",)newKey1、newKey2换成你需要的键名):
这里的$1\n "newKey1": "",\n "newKey2": "",$1会保留原来匹配到的name字段内容,\n是换行加缩进,让格式保持整齐,逗号用来和后续字段分隔。 - 如果想在对象最开头插入:
「Find What」输入:
「Replace With」输入:(\{\s*)$1"newKey": "",\n ``` - 如果想在对象末尾插入(注意:部分严格JSON解析器不允许末尾逗号,建议先格式化JSON再操作):
「Find What」输入:
「Replace With」输入:([^\}]+)$1,\n "newKey": ""
- 如果想在
- 先点击「Replace」试替换1-2个对象,确认格式没问题后,再点击「Replace All」批量处理。
额外小贴士
- 替换前一定要备份文件,或者用Sublime的「Undo」(
Ctrl+Z/Cmd+Z)随时撤回操作。 - 如果你的JSON是压缩无换行的格式,先通过「View > Indentation > Reindent」格式化,这样正则匹配会更精准。
- 要是需要插入大量键值对,可以把替换内容里的键值对批量写好,一次性替换进去。
内容的提问来源于stack exchange,提问作者mouthy
相关产品推荐
相关产品推荐

