跳到主内容
UniKit

YAML 查看器

把 YAML 展开成可折叠的树:显示 YAML 路径(如 $.a.b[0])、类型标注与统计信息,支持键/值搜索、按深度展开与一键折叠,非法 YAML 会指出行列位置。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

结构

输入 YAML 后这里会显示树形结构

这个工具能做什么

  • 拿到一大段 K8s / CI / 应用配置 YAML 时,先看树形结构再动手改,折叠到指定层数就能快速建立整体印象。
  • 排查「这个值到底在哪一层」:搜索键名或值,命中的节点会高亮,并自动展开它的所有祖先路径。
  • 确认 YAML 里的类型:2020-01-02 会解析成日期、1 是数字、true 是布尔,树上都标了类型,避免「字符串 false 被当成真值」这类坑。
  • 选中任意节点就能拿到它的 YAML 路径($.items[0].id)和该路径的值,复制进代码里做断言或写脚本。

示例

输入

name: UniKit
version: 1
stable: true
released: 2020-01-02
features:
  - yaml
  - viewer

输出

$  object  {name, version, stable, …}
  name  string  "UniKit"
  version  number  1
  stable  boolean  true
  released  date  2020-01-02T00:00:00.000Z
  features  array  ["yaml", "viewer"]

展开全部后的前几行(缩进表示层级,这里用空格代替)。统计为深度 2 · 键 5 · 数组 1 · 标量 6 · 行 7 · 字节 87;日期节点的预览是 ISO 字符串。

常见问题

为什么它只支持单个文档?

查看器的定位是浏览一棵树,多份文档会变成「多棵树」,展开、搜索与路径都会变得含糊。用 --- 分隔的输入会提示「这里只支持单个文档」,去掉分隔符或分两次查看即可。需要同时处理多文档请用 YAML 转 JSON 工具。

搜索是按什么匹配的?

不区分大小写,容器(对象与数组)只匹配键名,标量匹配键名和值。这样做是为了避免 {id, label} 这类预览文本把 label 搜出一堆假命中。命中后祖先节点会自动展开,并在结果上方显示匹配数量。

路径里的 $.a["b-c"] 是什么意思?

那是 YAML 路径。合法标识符(字母、数字、下划线、$)直接用点号连接,像 b-c 或含空格的键会写成 ["b-c"] 形式,数组元素用 [0]、[1] 下标。复制这个路径可以直接用在大多数 YAML/JSON 库的查询里。

文档很大时会怎样?

一次最多渲染 2000 行,超出会提示「只渲染前 2000 行,可用搜索缩小范围」;超过 50 万字符的输入会直接提示内容过长。搜索与展开仍然在完整树上计算,只是显示被截断。

解析报错会指出位置吗?内容会上传吗?

会。错误会归类成缩进错误、重复键、制表符、多个文档等,并给出第几行第几列与 js-yaml 的原因。解析全部在浏览器本地完成,页面不发网络请求,输入内容不会被上传或记录。

关键词:yamlyaml 查看yaml vieweryml树形浏览tree viewyaml 路径折叠collapse

同类工具