📝 输入配置内容

支持嵌套对象、数组(- 列表或 [行内])、单双引号、# 注释与 | 多行文本。

源与目标相同时会自动切换目标,避免无意义转换。

所有处理都在你的浏览器本地完成,配置内容不会上传。点「⇅ 交换正反」会把转换结果放回输入框并交换两种格式,方便反向转换或链式转换(如 YAML → JSON → Properties)。

输出字符数
0字符
选择源格式与目标格式后点「开始转换」
输入字符 0
节点数 0
最大层级 0
转换结果将显示在这里。

📊 三种格式怎么选

同一份配置在三种格式里的写法对照。

对比项JSONYAMLProperties
示例写法"server": {"port": 80}server:  port: 80server.port=80
可读性括号引号多,机器友好靠缩进表达层级,最简洁扁平键值,简单直观
数据类型数字/布尔/null 有类型数字/布尔/null 有类型所有值都是字符串
注释不支持支持 #支持 # / !
常见场景接口数据、前端配置K8s、Docker Compose、CIJava / Spring 配置
数组写法[1, 2]- 1 列表或 [1, 2]key[0]=1

⚠️ 使用注意

格式转换不是无损的,以下差异需要特别留意。

问题说明
Properties 会丢失类型.properties 规范里值只有字符串,所以 port: 8080 转过去是 server.port=8080,再转回 JSON/YAML 时 8080 会变成字符串 "8080",需要数字的地方请手动调整。
缩进必须一致YAML 用缩进表示层级,请统一用 2 个空格,不要混用 Tab;同一层级缩进不一致时会直接报出具体行,不会给出错误结果。
冒号与 # 号值里含冒号空格(如 hello: world)或 # 时请加引号;转换为 YAML 时这类有歧义的字符串会自动加双引号保证安全。
注释不保留到 JSONJSON 标准不支持注释,YAML/Properties 里的注释在转换为 JSON 时会自然丢弃;对象的键值数据不受影响。
支持范围覆盖日常配置所需:嵌套 map、列表(含 - 块写法与 []/{} 行内写法)、单双引号、|/> 多行文本。暂不支持锚点 &anchor、多文档 --- 等高级 YAML 特性。

⚠️ 本工具仅在浏览器本地解析并重新生成配置文本,不会上传、保存你粘贴的任何内容。
Properties 格式本身没有数据类型,经过它中转后数字与布尔会变为字符串;YAML 高级特性(锚点、多文档等)暂不支持。转换后的配置请结合实际使用场景核对后再上线。

📝

YAML / JSON / Properties 互转工具

开发工具 完全免费 🌙 支持黑夜模式 🔒 本地运行不上传 🔄 六种转换方向 📋 一键复制

开发中经常要在几种配置格式之间来回搬:K8s 与 Docker Compose 用 YAML,接口与前端用 JSON,Java/Spring 用 Properties。
手动改格式不仅慢,缩进、引号、逗号错一个整个配置就解析失败。
这个工具支持:
① 六种方向:YAML ⇄ JSON、YAML ⇄ Properties、JSON ⇄ Properties,任意互转;
② 嵌套与数组:支持多层 map、- 列表、[]/{} 行内写法与对象数组;
③ 注释与字符串:正确识别 # 注释、单双引号、|/> 多行文本,含冒号的值自动加引号;
④ 交换正反:一键把结果放回输入框并交换格式,可链式完成 YAML → JSON → Properties;
⑤ 错误定位:格式有误时给出具体原因与出错行内容,而不是生成半成品。
注意:Properties 只有字符串类型,经它中转后数字/布尔会变成字符串。

类别开发工具 / 格式转换
支持格式YAML、JSON、Properties
输出格式化文本,可复制
运行方式浏览器本地,不上传

核心特性

三种格式任意互转
嵌套对象与数组
行内 [] / {} 写法
注释正确识别
多行文本块支持
歧义值自动加引号
一键交换正反
错误行精确定位

关于这个工具

处理流程:
① 解析输入:按选定的源格式解析——JSON 走浏览器原生严格解析;YAML 自行实现缩进解析器,先剔除空行与注释,再按缩进深度递归构建 map/list,支持 - 块序列、[1,2]/{a:1} 行内 flow、单双引号、| 保留换行与 > 折叠空格;Properties 按行切分,= 或 : 分隔,点号 . 还原为嵌套对象,key[0] 还原为数组;
② 统一为内存对象:三种格式解析后都是同一份 JS 数据结构;
③ 生成目标:JSON 用带缩进的标准格式;YAML 递归输出缩进文本,简单数组用行内写法、含 :/# 或形似数字布尔的值自动加引号;Properties 展开为点号路径;
④ 交换与链式转换:交换正反会把输出回填为输入,因此可连续完成跨格式中转。

怎么用

  1. 第 1 步
    在「源格式」中选择你手上内容的格式:YAML、JSON 或 Properties。
  2. 第 2 步
    把配置内容粘贴到左侧文本框,或点「📋 填入示例」快速体验。
  3. 第 3 步
    在「目标格式」中选择要转成的格式,点「🔄 开始转换」。
  4. 第 4 步
    右侧显示转换结果与节点数、最大层级;有格式错误时会指出具体出错行。
  5. 第 5 步
    点「📋 复制结果」使用;需要反向或继续转第三种格式时,点「⇅ 交换正反」后再选目标格式转换。

更新记录

  • v1.0 2026-10-11 工具正式上线:支持 YAML / JSON / Properties 三种配置格式任意互转(六种方向),解析器支持嵌套 map/list、- 块序列、[]/{} 行内 flow、单双引号、# 注释、|/> 多行文本;生成 YAML 时对含冒号、形似数字/布尔的歧义值自动加引号;提供交换正反(链式转换)、节点/层级统计与精确错误行提示。纯浏览器本地运行,适配黑夜模式。

常见问题

为什么 Properties 转回来数字变成了字符串?
这是 .properties 格式本身的特性:它只有“键=值”文本,值没有类型,8080 和 hello 一样都是字符串。转换工具不会臆测类型(否则 010-1234 这类电话号也可能被误转成数字)。需要数字/布尔类型时,建议以 JSON 或 YAML 为准,Properties 仅用于最终配置落地。
提示“无法解析的行 / 缩进不一致”怎么办?
YAML 对缩进敏感:请统一使用空格缩进(建议 2 个空格),不要用 Tab;同一层级的键必须对齐;键和值之间用英文冒号加一个空格(key: value)。报错信息会带上无法识别的那一行内容,按提示调整该行及其上一行的缩进即可。
支持 YAML 锚点、引用和多文档吗?
暂不支持 &anchor 锚点定义、*alias 引用、>> 合并键以及 --- 多文档分隔等高级特性,遇到这些内容可能报解析错误。绝大多数应用配置(K8s、Compose、CI、Spring 等常用写法)都在支持范围内;含锚点的文档可先用其他工具展开锚点后再粘贴转换。
值里带冒号、井号或换行会转坏吗?
不会。解析时引号内的内容原样读取,注释 # 只在它前面是空白时才生效;生成 YAML 时,凡是包含 : 、#、首尾空格或看起来像数字/布尔/null 的字符串都会自动加上双引号,多行字符串建议在源 YAML 中用 | 块写法表达。
粘贴的配置会被上传吗?
不会。所有解析与生成都在你的浏览器内完成,页面不发起任何网络请求,刷新或关闭页面后内容立即消失。不过仍建议粘贴前抹掉密码、密钥、内网地址等敏感信息。

💬 留言板 0

全部留言需审核通过后展示
💬

还没有留言,来抢沙发吧!

✍️ 说点什么
0 / 500
图形验证码