Properties 输入
字符:0YAML 输出
等待输入工具介绍
本工具实现 Java .properties 配置文件与 YAML 格式的双向转换。Spring Boot 项目中常需在 properties 与 yaml 两种配置风格间切换,手动改写繁琐易错,本工具可一键完成转换。
Properties → YAML:解析 properties 文件(按 = 或 : 分隔键值、支持 # 注释),将点分键(如 server.port)自动转为 YAML 嵌套对象结构,输出格式规范的 YAML 文本。
YAML → Properties:解析 YAML 文档,将嵌套结构展平为点分键的 properties 格式,列表元素使用 [0]、[1] 索引表示,方便回写为 Java properties 文件。所有转换均在浏览器本地完成,配置内容不会上传服务器。
安全保障
- 本地处理:所有解析与转换均在浏览器本地完成,配置文件内容绝不上传服务器,适合处理包含数据库密码、密钥等敏感信息的配置。
- 无需注册:打开即用,无需登录或提供任何个人信息。
- 格式准确:基于 js-yaml 库进行 YAML 序列化,输出的 YAML 文件可直接被 Spring Boot、Docker Compose 等工具正确加载。
常见问题
点分键是如何转换为嵌套对象的?
properties 文件中如 server.port=8080 的点分键会被拆分为多层嵌套:server 作为顶层键,port 作为其子键,最终生成 server:\n port: 8080 的 YAML 结构。多级点分(如 spring.datasource.url)会生成对应深度的嵌套层级,相同前缀的键会合并到同一父对象下。
YAML 中的列表如何转换为 properties?
YAML 列表(如 servers: [a, b, c])转换为 properties 时,会使用 [索引] 后缀表示每个元素:servers[0]=a、servers[1]=b、servers[2]=c。这与 Spring Boot 的 relaxed binding 规则一致,可直接被 @ConfigurationProperties 注解的 List 字段读取。
注释会被保留吗?
Properties → YAML 转换时,# 注释行会被保留并以 # 开头输出到对应位置。YAML → Properties 转换时,YAML 中的 # 注释同样会保留为 properties 注释。但由于格式差异,注释的精确位置可能略有变化。
支持哪些 properties 语法?
支持标准 Java properties 语法:键值对用 = 或 : 分隔、# 或 ! 开头的注释行、空行忽略、续行符(\)跨行、转义字符(如 \n \t)。键中的点号用于表示嵌套层级,方括号索引(如 list[0])用于表示列表元素。