1 MB 的 JSON 测试文件
文件信息
| 文件格式 | JSON |
|---|---|
| 文件大小 | 1 MB(1,048,578 字节) |
| MIME Type | application/json |
| MD5 | 53a3fc8a431823a1a8fed023e8c72ef8 |
| SHA-1 | c19f7dfc917bde2b3833640d1d59f2b957971f43 |
| SHA-256 | b73dd7c5fb944871c696bb503bf9c99540b9a7225c7f096295a85752a7c7277d |
通过命令行下载
curl
curl -O https://devlab.itlibra.com/files/json/json-1mb.json
wget
wget https://devlab.itlibra.com/files/json/json-1mb.json
PowerShell
Invoke-WebRequest -Uri "https://devlab.itlibra.com/files/json/json-1mb.json" -OutFile "json-1mb.json"
关于此文件
1 MB 的 JSON 测试文件,大小正好为 1,048,578 字节。免注册、完全免费,可用于验证上传限制和文件处理行为。
上方列出的 MD5 / SHA-1 / SHA-256 是根据本文件内容计算出的真实哈希值。下载后重新计算并比对,即可确认传输过程中未发生损坏;它们也可直接作为测试哈希库时的预期值。
这个大小在实际开发中的意义
1 MB 恰好等于 nginx client_max_body_size 的默认值(1m)。在没有显式配置该指令的反向代理后面,超过这个大小的请求根本到不了应用层,nginx 会直接返回 413 Request Entity Too Large。
因此它最适合复现这个经典事故:应用侧上限已调到 10 MB,却仍在 1 MB 处被拒。如果应用日志里根本看不到这个 413,原因几乎都在前面的代理层。
这个容量的直观参考
在 10 Mbps 线路上传输约需 839 毫秒,100 Mbps 约需 84 毫秒。转换为 Base64 后约膨胀至 1,365 KB。
若视为每条记录(含键名)约 180 字节的 JSON 数组,该容量大致包含 5,825 条记录,可据此判断能否一次性载入内存,还是应改用流式解析器。此为粗略估算,实际数值高度依赖数据结构。
针对该格式应确认的要点
JSON 同样是纯文本,按规范采用 UTF-8 编码。语法有效性必须解析整个文档才能判定,因此文件越大,「为校验而全量读取」的成本就越突出。
- 处理大 JSON 时使用的是流式解析器,还是一次性全部展开到内存
- 是否限制嵌套深度(深度嵌套的 JSON 可能耗尽解析器栈)
- 大整数精度是否丢失(JavaScript 的 Number 超过 2^53 后会产生误差)
常见问题 (FAQ)
- 此文件可以免费使用吗?
- 是的,完全免费且无需注册。可用于任何商业或非商业的测试/验证目的。
- 文件内容是什么?
- 为测试生成的虚拟数据,大小精确符合标示。
- 哈希值有什么用?
- 可验证下载文件的完整性,或作为哈希库的测试数据。