ZH
我的工具

Properties 转 YAML / JSON(可逆向转换)

把 Java 的 .properties(Spring Boot 的 application.properties)转换为嵌套的 YAML 或 JSON,或把 JSON/YAML 转回 .properties,支持 \uXXXX、续行和 [0] 列表。

.properties 的值始终是文本;如果读取方会转换类型(如 Spring),请开启此项。
我的工具 →
广告

Spring Boot 从 application.properties 或 application.yml 读取设置,两者之间手动转换既慢又容易出错。这个工具像 Java 一样读取 .properties 文件:键与值之间的 =、: 或空格,反斜杠续行,\uXXXX 转义,以及 # 和 ! 注释,都能正确处理,并把同样的设置写成嵌套的 YAML 或 JSON。它也能反向转换,把 JSON 或 YAML 展开成带列表索引(如 servers[0])的 key=value 行。

使用方法

  1. 粘贴 .properties 文本(反向转换时粘贴 JSON/YAML)。
  2. 选择转换方向。
  3. 保持“把带点的键嵌套”开启以生成树结构,开启“把 [0] 索引转成列表”以处理 Spring Boot 列表。
  4. 复制 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。

我的配置会被上传吗?

不会。转换在浏览器中完成,文件中的密码不会离开你的设备。

资料来源

最后更新:

引用此工具
APA

kakaoCalc. (2026, November 8). Properties 转 YAML / JSON(可逆向转换). https://kakao.mobile/zh/tools/properties-to-json-tool/

MLA

“Properties 转 YAML / JSON(可逆向转换).” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/properties-to-json-tool/.

广告