浏览器本地处理

JSON / NDJSON 互转

把根数组的每个项目压缩为独立一行,或逐行严格解析 JSON Lines/NDJSON 并组合成数组;错误会定位到具体非空行。

浏览器本地处理
0 / 1,000,000
转换结果

工具指南

什么是JSON / NDJSON 互转?

JSON 与 NDJSON 互转用于日志流、批量导入和逐条事件数据。JSON 根数组会被拆成每行一个压缩 JSON 值;NDJSON 输入则逐个非空行进行严格解析并组合为数组,出现错误时会标明对应行号,避免整批数据只返回模糊的解析失败。常见使用场景包括:把事件对象数组转换为日志或导入任务使用的 JSON Lines。;把逐行 API 响应合并为便于检查的 JSON 数组。;定位大批 NDJSON 中具体损坏的记录行。页面同时列出输入边界、输出规则和限制,便于在复制结果或投入实际流程前核对格式、语义与安全注意事项。

适用场景

  • 把事件对象数组转换为日志或导入任务使用的 JSON Lines。
  • 把逐行 API 响应合并为便于检查的 JSON 数组。
  • 定位大批 NDJSON 中具体损坏的记录行。

使用方法

  1. JSON 转换时准备根数组。
  2. NDJSON 转换时确保每个非空行只有一个 JSON 值。
  3. 运行并按行修复错误。
  4. 复核行数与数组项目数后复制。
  5. 先使用页面提供的复杂示例验证当前选项和运行方向,再替换为自己的数据。
  6. 检查输出区、状态提示和限制说明,确认结果符合预期后再复制、下载或继续处理。

可运行示例

工作区中的“示例 1”和“示例 2”按钮会载入对应内容。两个示例覆盖不同结构、方向或边界,可以直接运行并观察输出与状态提示。

示例 1

[{"id":1,"event":"deploy","status":"ready"},{"id":2,"event":"verify","checks":["unit","e2e"]}]

示例 2

{"id":101,"event":"工具发布","ok":true}
{"id":102,"event":"正式站验证","ok":true}

输入规则

  • JSON 转 NDJSON 要求根数组。
  • 每个非空 NDJSON 行必须是一个完整 JSON 值。
  • 单个 JSON 值不能跨越多行。
  • 文本输入在运行前按字符计数,当前页面上限为 1,000,000;文件类功能另按页面显示的文件上限执行。
  • JSON 转 NDJSON 要求根数组。

输出规则

  • 数组项目按原顺序各占一行。
  • 空白行在导入时忽略。
  • 导入结果为格式化 JSON 数组。
  • 输出只反映当前输入、方向和选项;切换模式或修改输入后应重新运行,不应把旧结果当成新结果。
  • 空行会被忽略,非空行必须是完整 JSON。

限制与注意事项

  • JSON 转 NDJSON 要求根数组。
  • 空行会被忽略,非空行必须是完整 JSON。
  • 不支持跨多行的单个 JSON 文档。

数据处理说明

分行、逐条 JSON 校验和数组组合只在浏览器中执行,日志与事件内容不会上传或保存。关闭或刷新页面后,本工具不会保留本次数据。

FAQ

转换会上传NDJSON内容吗?

不会。解析、转换和结果生成都在当前浏览器标签页内完成。

能保证完全无损往返吗?

不能。不同格式的类型、注释、顺序和二进制能力不同,页面会说明主要损失点。

为什么某些输入会被拒绝?

工具会拒绝不安全整数、危险键、过深结构或目标格式无法明确表示的值,避免静默改写。

每行可以是数字或字符串吗?

可以,每个非空行可包含任意完整 JSON 值;转换为数组时会保持对应类型。

空行如何处理?

空行会忽略,不会生成 null 项。

支持多行对象吗?

不支持。NDJSON 的基本约定是每个 JSON 值只占一行。

更新日期: 2026-08-09