浏览器本地处理

YAML / NDJSON 互转

适合事件日志、批量导入和测试夹具;YAML 根数组逐项成为单行 JSON,反向按非空行解析并在错误时标出具体行号。

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

工具指南

什么是YAML / NDJSON 互转?

YAML 与 NDJSON 互转用于事件日志、批量导入和逐条测试数据。YAML 根数组会被拆成每行一个紧凑 JSON 值,NDJSON 则逐个非空行解析并组合为 YAML 数组;遇到损坏记录时页面给出准确行号,而不是只返回整个批次解析失败的模糊信息。常见使用场景包括:为事件流生成 JSON Lines。;将逐行日志合并为 YAML 数组。;定位批量记录的具体错误行。页面同时列出输入边界、输出规则和限制,便于在复制结果或投入实际流程前核对格式、语义与安全注意事项。

适用场景

  • 为事件流生成 JSON Lines。
  • 将逐行日志合并为 YAML 数组。
  • 定位批量记录的具体错误行。

使用方法

  1. YAML 转换时准备根数组。
  2. NDJSON 输入确保每个值只占一行。
  3. 加载示例核对项目数量。
  4. 执行并按行修复错误。
  5. 复制前确认空行和类型处理。
  6. 先使用页面提供的复杂示例验证当前选项和运行方向,再替换为自己的数据。

可运行示例

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

示例 1

- id: 41
  event: develop
  status: ready
- id: 50
  event: release
  checks: [unit, e2e]

示例 2

{"id":41,"event":"工具开发","ok":true}
{"id":50,"event":"生产验证","ok":true}

输入规则

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

输出规则

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

限制与注意事项

  • YAML 转 NDJSON 要求根数组。
  • 每个非空行必须是一个完整 JSON 值。
  • 注释、锚点和多行 JSON 记录不受支持。

数据处理说明

所有解析、格式转换、Base64 编解码和中间数据都只存在于当前浏览器标签页内。JSONLane 不会上传输入,也不会在刷新或关闭页面后保留本次内容。

FAQ

YAML 或 NDJSON 内容会上传吗?

不会。输入解析、格式转换和结果生成都只在当前浏览器标签页中完成。

转换结果一定能无损往返吗?

不能。注释、排版、类型系统和二进制能力不同,页面会明确列出需要人工复核的损失点。

为什么合法输入有时仍会被拒绝?

目标格式可能无法安全表示该结构;工具会拒绝危险键、不安全整数、过深数据和含糊映射,避免静默改写。

每行可以是标量吗?

可以,每个非空行可以是任意完整 JSON 值。

空行如何处理?

空行忽略,不会生成 null。

一个对象可以跨行吗?

不可以,NDJSON 要求一个值占一行。

更新日期: 2026-08-09