Properties 转 YAML / JSON(可逆向转换)
把 Java 的 .properties(Spring Boot 的 application.properties)转换为嵌套的 YAML 或 JSON,或把 JSON/YAML 转回 .properties,支持 \uXXXX、续行和 [0] 列表。
Spring Boot 从 application.properties 或 application.yml 读取设置,两者之间手动转换既慢又容易出错。这个工具像 Java 一样读取 .properties 文件:键与值之间的 =、: 或空格,反斜杠续行,\uXXXX 转义,以及 # 和 ! 注释,都能正确处理,并把同样的设置写成嵌套的 YAML 或 JSON。它也能反向转换,把 JSON 或 YAML 展开成带列表索引(如 servers[0])的 key=value 行。
使用方法
- 粘贴 .properties 文本(反向转换时粘贴 JSON/YAML)。
- 选择转换方向。
- 保持“把带点的键嵌套”开启以生成树结构,开启“把 [0] 索引转成列表”以处理 Spring Boot 列表。
- 复制 YAML、JSON 或 .properties 结果。
计算公式
a.b.c=v → a: b: c: v · list[0]=x → list: [x] · \uXXXX → 对应字符 · 以 \ 结尾的行 → 续到下一行
键在第一个未转义的 =、: 或空白处结束;分隔符及其两侧的空格会被跳过,值保留其余所有内容,包括末尾空格。以奇数个反斜杠结尾的行会续到下一行,下一行开头的空格会被去掉。\t \n \r \f 和 \uXXXX 转义会被解码,其他被转义的字符表示其自身。同一个键出现两次时,与 Java 一样以最后一个为准。除非你要求为数字和布尔值指定类型,否则值保持为文本(只有写回后与原样一致的值才会转换,所以 1.50 仍是 "1.50")。转回 .properties 时,数字按 JSON 或 YAML 中的写法原样复制(1.10 仍是 1.10,长 ID 保留全部位数),并应用 YAML 合并键。
示例
示例中的 spring.datasource.url 和 spring.datasource.username: app 最终位于 spring → datasource 之下;server.port = 8080 变成文本 port: "8080"(与文件中一致);app.greeting=Hello\, w\u00f6rld 解码为 Hello, wörld;app.servers[0] 和 [1] 变成包含两项的列表;跨两行的 description 合并为一个值。一共转换了 9 个键。
常见问题
为什么 8080 带引号?
.properties 文件没有类型,所有值都是文本。Spring 在绑定时会把 "8080" 转成数字,所以两种写法都可用;勾选相应选项即可让数字和布尔值不加引号。
如何保留带点的键?
Spring Boot 对含点的映射键使用方括号:logging.level.[com.example]=DEBUG。转换器会读取这种写法,转回 .properties 时也会按这种写法输出。
.properties 文件应使用什么编码?
Java 的 Properties.load(InputStream) 按 ISO-8859-1 读取,所以非 ASCII 字符最稳妥的方式是使用 \uXXXX 转义(此处的默认设置)。Spring Boot 和 Properties.load(Reader) 可以读取 UTF-8。
我的配置会被上传吗?
不会。转换在浏览器中完成,文件中的密码不会离开你的设备。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/properties-to-json-tool/
引用此工具
kakaoCalc. (2026, November 8). Properties 转 YAML / JSON(可逆向转换). https://kakao.mobile/zh/tools/properties-to-json-tool/
“Properties 转 YAML / JSON(可逆向转换).” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/properties-to-json-tool/.