如何批量为目录下所有.json文件添加首尾方括号?
批量将单个JSON对象文件转为JSON数组格式的方法
以下是几种不同平台下的批量处理方案,操作前请务必先备份目标文件,避免数据丢失:
方法一:Linux/macOS 命令行(sed工具)
利用sed命令直接在文件首尾添加方括号:
# macOS 系统 for file in *.json; do sed -i '' '1s/^/[/' "$file" sed -i '' '$s/$/]/' "$file" done # Linux 系统 for file in *.json; do sed -i '1s/^/[/' "$file" sed -i '$s/$/]/' "$file" done
1s/^/[/:在文件第一行开头插入[$s/$/]/:在文件最后一行结尾插入]
方法二:Windows PowerShell
通过PowerShell脚本读取并修改文件内容:
Get-ChildItem -Filter *.json | ForEach-Object { $content = Get-Content $_.FullName -Raw $newContent = "[$content]" Set-Content $_.FullName -Value $newContent }
Get-ChildItem -Filter *.json:获取当前目录下所有JSON文件Get-Content ... -Raw:读取文件完整内容- 包裹方括号后重新写入原文件
方法三:跨平台Python脚本
适用于所有安装了Python的系统,灵活性更高:
import os # 替换为你的目标文件夹路径,当前目录填 '.' 即可 target_folder = '.' for filename in os.listdir(target_folder): if filename.endswith('.json'): file_path = os.path.join(target_folder, filename) # 读取原文件内容 with open(file_path, 'r', encoding='utf-8') as f: raw_content = f.read().strip() # 包裹为JSON数组格式 array_content = f'[{raw_content}]' # 写入修改后的内容 with open(file_path, 'w', encoding='utf-8') as f: f.write(array_content)
注意事项
- 确保每个原文件内容是单个合法JSON对象,否则处理后的数组可能存在语法错误
- 批量操作前建议先拿1-2个测试文件验证效果
内容的提问来源于stack exchange,提问作者gfx2000
相关产品推荐
相关产品推荐

