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

求将Linux下jq拆分大JSON的方法转换为Windows适用版本

Windows环境下用jq拆分超大JSON文件方案

针对你手里20-100GB的数组型超大JSON文件,这里提供两种Windows下的拆分方案,适配CMD批处理和PowerShell,都是基于你找到的Linux方案转换而来:

一、CMD批处理脚本方案

  1. 新建一个文本文件,命名为split_json.bat,把下面的代码复制进去:
@echo off
setlocal enabledelayedexpansion

:: 请根据你的需求修改下面的配置参数
set "input_file=data.json"          :: 替换成你的超大JSON文件路径
set "items_per_file=1000"           :: 每个小文件要包含的JSON元素数量
set "output_prefix=output_"         :: 输出小文件的前缀名

:: 获取JSON数组的总元素数量
for /f %%a in ('jq length %input_file%') do set "total_items=%%a"

:: 计算需要拆分的总批次数
set /a "total_batches=(total_items + items_per_file - 1)/items_per_file"

:: 循环执行拆分
for /l %%i in (0,1,%total_batches%) do (
    set /a "start=%%i * items_per_file"
    set /a "end=start + items_per_file"
    jq ".[!start!:!end!]" %input_file% > %output_prefix%%%i.json
    :: 删除可能产生的空文件
    for %%f in (%output_prefix%%%i.json) do if %%~zf equ 0 del %%f
)

echo 拆分完成!
pause
  1. 修改脚本里的配置参数,把input_file改成你的实际文件路径,调整items_per_file控制每个小文件的大小
  2. 双击运行这个批处理文件即可

二、PowerShell脚本方案

  1. 新建一个文本文件,命名为Split-Json.ps1,复制下面的代码:
# 请根据需求修改配置参数
$inputFile = "data.json"          # 你的超大JSON文件路径
$itemsPerFile = 1000              # 每个小文件包含的元素数量
$outputPrefix = "output_"         # 输出文件前缀

# 获取JSON数组的总元素数
$totalItems = jq -r length $inputFile

# 计算总批次数
$totalBatches = [math]::Ceiling($totalItems / $itemsPerFile)

# 循环拆分
for ($i = 0; $i -lt $totalBatches; $i++) {
    $start = $i * $itemsPerFile
    $end = $start + $itemsPerFile
    jq ".[$start:$end]" $inputFile | Out-File "$outputPrefix$i.json" -Encoding utf8

    # 清理空文件
    $outputPath = "$outputPrefix$i.json"
    if ((Get-Item $outputPath).Length -eq 0) {
        Remove-Item $outputPath
    }
}

Write-Host "拆分完成!"
  1. 修改配置参数后,右键选择“用PowerShell运行”即可

注意事项

  • 以上方案仅适用于最外层是数组结构的JSON文件(格式为[{},{},...]),如果你的JSON不是这种结构,需要先通过jq调整(比如提取特定数组字段)
  • 超大文件处理耗时较长,建议在系统空闲时执行
  • 如果遇到编码乱码问题,可以在jq命令后添加--utf8参数,或者调整PowerShell的输出编码

内容的提问来源于stack exchange,提问作者fsumathguy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 11:22:02