大型 JSON / JSONL 浏览器

在本地打开、索引、搜索和导出大型 JSON 与 JSONL 文件,提供虚拟表格、惰性树和精确数字。

没有数据发送到服务器

本地文件

拖放 JSON、JSONL 或 NDJSON 文件

文件始终留在此浏览器中。JSONL 会增量读取;普通 JSON 使用已配置的内存上限。

普通 JSON 仅加载到所选 8–64 MiB 上限。JSONL 以 1 MiB 分块流式读取,每条记录限制 1–8 MiB,最大深度 256。这些是明确的安全上限,并非无限内存承诺。

文件、搜索和派生列不会离开设备,也不会保存到本地存储;只记住格式与安全设置。

记录

请选择本地 JSON 或 JSONL 文件以查看结构和记录。

搜索、筛选与投影

每行一个 RFC 6901 JSON Pointer,最多 100 个字段。空列表保留自动发现的顶层列。~ 写为 ~0,/ 写为 ~1。投影后的 JSONL 是以完整指针为键的扁平对象;缺失字段为 null。

自动列采样前 10,000 条记录,最多显示 100 个顶层字段。编码后的 JSON Pointer 超过 256 个字符的列名,以及总计超过 16,384 个字符的列名元数据,不会自动加入。不会删除输入字段:可用精确 JSON Pointer 指定。单元格预览最多 512 个字符;检查与导出使用完整值。

已选记录

选择表格行以加载完整原始记录。

导出当前结果

导出会重新扫描所有匹配记录,而不只导出可见行。输出按有界分块构建,浏览器上限为 256 MiB。CSV 遵循 RFC 4180,使用 CRLF 和 UTF-8 BOM。

本页内容

无需上传隐私数据即可浏览大型 JSON 数组和逐行 JSON。工具在本地建立稀疏索引,仅渲染虚拟表格的小窗口,并按需加载记录或树分支。

详细功能

JSONL / NDJSON 以 1 MiB 分块进行 UTF-8 解码,正确处理 BOM、CRLF 和没有换行符的末行;错误会指出物理行号与列号。内存只保留稀疏检查点和有界列元数据,远距离表格窗口、筛选和导出都会重新读取文件。

普通 JSON 支持对象、数组和标量根,并提供惰性结构树;根数组也可作为记录表格浏览。单一文档无法像 JSONL 那样独立索引,因此明确限制为 8–64 MiB 并在 worker 中解析。最大深度为 256,JSONL 单条记录为 1–8 MiB。

数字保留源词法形式。9007199254740993、1.0 和指数形式在 JSONL 导出时不会经过 JavaScript Number。筛选会扫描全部记录,但不会创建完整匹配数组。

实用示例

检查 API 日志:打开 .ndjson,在值中搜索 timeout,再按 billing 筛选 /service;选择行即可加载完整原始 JSON。

投影嵌套字段:输入 /id 和 /user/name;/a~1b 表示名为 a/b 的键。CSV 以指针为列,JSONL 以指针为键。

保留大 ID:导出 {"id":9007199254740993,"price":1.0} 时两种数字写法保持不变。

浏览大型数组:只展开需要的树分支,并滚动虚拟表格,无需为每个元素创建 DOM 行。

如何使用此工具

  1. 选择格式与上限

    选择自动检测、JSON 或 JSONL/NDJSON,并设置文件、记录和深度上限。

  2. 打开本地文件

    拖放或选择文件。Worker 会显示字节、耗时、吞吐量与预计时间;取消会安全丢弃会话。

  3. 搜索或投影

    搜索键或值,填写 RFC 6901 字段路径与子字符串,或逐行列出投影指针。

  4. 检查并导出

    滚动表格、打开完整记录、惰性展开树节点,或将全部匹配项下载为 JSONL 或 CSV。

提示和最佳实践

  • 使用 .jsonl 或 .ndjson 可可靠自动检测;对无扩展名的歧义文件请明确选择格式。
  • 空白 JSONL 行会被忽略,但语法错误使用物理文件行号。
  • 空 JSONL 是有效的零记录结果;空普通 JSON 无效。
  • JSON Pointer 用 / 分隔,~0 表示波浪号,~1 表示斜杠。
  • CSV 默认防护以 =、+、- 或 @ 开头的公式值。
  • 导出包含全部筛选行,并在明确的 256 MiB 上限前停止。