JSON / YAML / CSV 互转
把一份数据在 JSON、CSV、TSV 和 YAML 之间来回搬。嵌套对象会拍平成带点的列名,CSV 的首行当表头、单元格自动认数字和布尔,YAML 支持缩进块这一常用子集;读不动的地方会告诉你第几行、为什么。
· 等待输入
源数据
转换结果
这次转换
—- 识别出的源格式
- —
- 目标格式
- —
- 顶层结构
- —
- 数据行数
- —
- 列
- —
- 最大嵌套深度
- —
- 体积
- —
- 提醒
- —
几点说明
- 数据不出浏览器 · 零网络请求 · 可断网可用:所有解析和生成都在本机完成,数据不会被上传,也没有任何请求。
- YAML 支持的是常用子集:缩进块映射与序列、流式 [] 与 {}、单双引号、块标量 | 与 >、注释、--- 开头。锚点 &、别名 *、自定义标签 !、多文档这几样不支持,遇到会直接报错告诉你哪一行,而不是猜着转。
- CSV 按 RFC 4180 处理:字段可以用双引号包起来,内部的引号写成两个 "",字段里可以含逗号和换行;输出时只在需要的地方加引号。分隔符按 , 与 Tab 各管一种格式。
- JSON 转 CSV 时,嵌套对象会拍平成 a.b.c 这样的列名,数组按 a.0、a.1 展开;关掉「拍平嵌套对象」就改为把整个值序列化成 JSON 塞进单元格。列的并集按首次出现的顺序排列,缺的格子留空。
- 类型识别很保守:只有整串都是数字(或小数、科学计数法)才转成数字,"007"、超过 15 位的长整数、"1e999"、"+1" 这类一律保留成字符串,宁可留着文本也不丢精度。
- 出错时结果区会给出「第几行第几列 + 原因 + 指针」:JSON 用引擎给的位置换算行列,CSV 报出未闭合的引号所在行,YAML 报出缩进或语法不合规的那一行。
- 上限:源数据 4 MB、YAML 嵌套 64 层、表格 20 万行、单元格 10 万字符,超限会明确拒绝而不是让页面卡死;输入框里按 Ctrl / ⌘ + Enter 直接转换,输入后 250 毫秒自动转换一次。