Properties 转 YAML
Properties 转 YAML 工具,把 Java .properties / i18n 资源文件直接转换成层次清晰的 YAML 配置。完整支持反斜杠续行、# / ! 注释、\uXXXX 与 = / : / 空白三种键值分隔符,点号路径自动还原为嵌套结构,也可以按需做数字 / 布尔类型推断。转换在浏览器本地的 Web Worker 中完成,配置内容不外传。
怎么使用
- 1
粘贴 Properties 文本
支持 server.host=localhost 这类点号路径、反斜杠续行,以及 # / ! 开头的注释行。
- 2
设置分隔符与选项
路径分隔符默认点号;可选开启类型推断(8080、true 还原为数字 / 布尔),并选择 YAML 缩进 2 或 4 空格。
- 3
复制 YAML
右侧即时得到嵌套 YAML,复制即可用于 K8s、CI 或应用配置文件。
功能特点
一步直达 YAML
不必先转 JSON 再转 YAML,Properties 直接输出符合 YAML 1.2 的文本,可被标准解析器读取。
JDK 词法精确实现
严格按 java.util.Properties 规则解析:续行折叠、前导空白处理、\t \n \uXXXX 等转义全部支持。
路径还原嵌套层级
server.host 与 server.port 自动归入同一个 server 映射,点号 / 冒号 / 斜杠 / 连字符分隔符可配置。
转义键名不误拆
键名中的 \. 与 \\ 按路径层与词法层两层转义精确还原,含点号的键不会被错误拆成多级。
非法输入有提示
空内容、仅含注释无键值对、路径冲突(a 与 a.b 并存)都会给出明确的中文错误原因,不会崩溃。
常见错误与排查
- ! # 和 ! 开头的行会被当作注释;键名若以这些字符开头,源文件中需用反斜杠转义。
- ! 物理行尾的单个反斜杠表示续行,下一物理行的前导空白会被一并忽略。
- ! 值看起来是数字但需要保留文本(如版本号 0.1.0)时,请关闭类型推断,避免被当作数字处理。
- ! YAML 缩进只能使用空格,Tab 在 YAML 中非法;本工具输出始终使用空格。
常见问题
点号分隔的键一定会变成嵌套映射吗?
默认会:a.b.c 还原为 {a:{b:{c}}},再输出为嵌套 YAML。如果键名本身含点号,源文件中应写为 a\.b,工具会识别转义把它当作字面点号,不会拆层。
\uXXXX 转义和中文怎么处理?
按 JDK 规则解码为对应 Unicode 字符,直接输出 UTF-8 中文,YAML 中无需转义;反斜杠续行、\t、\n 等转义同样会被还原。
提示路径冲突是什么意思?
例如同时存在 a=1 和 a.b=2:a 既要是标量又要是映射,结构上无法同时成立。请检查键名,必要时改用不同的分隔符或重命名。
转换时我的数据会上传吗?
不会。解析与序列化都在浏览器本地的 Web Worker 中完成,没有服务器参与,配置文件、密钥这类敏感内容可以放心粘贴。