You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量为JSON文件中逐行排列的JSON对象添加逗号分隔符

多JSON对象文件补逗号分隔方案

你之前直接查找}{替换为},{失效的核心原因:每个JSON对象单独从新行起始,相邻对象的首尾大括号之间夹了换行、缩进空格/制表符等空白内容,两个括号不是紧挨状态,自然匹配不到。
下面是三种可直接落地的解决方法,按方便程度排序:

方法1:编辑器正则替换(最常用,小文件首选)

VS Code、Notepad++、Sublime Text等所有主流编辑器都支持该操作:

  • 打开查找替换面板,勾选正则表达式匹配模式(不要开全字匹配)
  • 查找内容输入:}(\s*){
    该规则会匹配所有「右大括号+任意长度空白(含换行、空格、tab缩进)+左大括号」的相邻对象场景
  • 替换内容输入:},\n{
    如果原文件有固定缩进,比如每个对象开头缩进2个空格,就把替换内容改成},\n {,替换后格式和原文件保持一致
  • 点击全部替换即可完成分隔

替换完成后记得把整个文件内容用一对方括号[]包裹,才是符合规范的标准JSON数组格式,否则仅加逗号依然是非法JSON结构。

方法2:命令行处理(适合GB级超大文件,编辑器加载卡顿场景)

如果文件体积太大编辑器打不开,直接在终端执行对应命令即可,无需打开文件:

  • 已安装Node.js环境的话,在文件所在目录执行以下命令,把input.json替换成你的源文件名,处理后的内容会输出到output.json:
node -e "const fs=require('fs');const raw=fs.readFileSync('input.json','utf8');const fixed='['+raw.replace(/\}\s*\{/g,'},{')+']';fs.writeFileSync('output.json',fixed)"
  • Linux/macOS系统可以直接用自带的sed工具处理:
sed -e ':a' -e 'N' -e '$!ba' -e 's/}[[:space:]]*{/},\n{/g' input.json > temp.json && echo "["$(cat temp.json)"]" > output.json && rm temp.json

方法3:jq工具处理(零错误,最稳妥)

如果担心正则误改内容,可以用专业JSON处理工具jq,自动处理所有格式问题,输出100%合法的JSON:

  1. 先安装jq:macOS执行brew install jq,Ubuntu/Debian执行sudo apt install jq,Windows可以通过scoop/choco包管理器安装
  2. 在文件所在目录执行命令即可直接输出标准JSON数组文件:
jq -s '.' input.json > output.json

命令里的-s参数会自动读取文件内所有独立的JSON对象,拼成合法数组,自动补全逗号、统一缩进,完全不会破坏原有JSON结构。

内容的提问来源于stack exchange,提问作者Digvijay Singh Thakur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 04:12:24