Properties / .env 转换
Spring Boot 的 application.properties 和 application.yml 之间搬来搬去、把一份 .env 转成 JSON 塞进配置中心,是日常最烦人的手工活之一。这页把点号层级自动展开成嵌套结构,反向也能拍平回去。数据在你浏览器里转,不上传。
几个坑
- Properties 的值不要引号
name="张三"在 properties 里,值就是带引号的"张三"六个字符。.env则相反,引号会被剥掉。两边互转时这是最容易出错的地方,转完记得检查带引号的那几行。- 数组的写法
- Spring 里数组写成
servers[0]=a、servers[1]=b,转成 YAML 就是个列表。反过来 YAML 的列表拍平回 properties 也会带上下标。 - .env 没有层级
.env是给 shell 和 Docker 用的,键名只能是A-Z0-9_,没有嵌套概念。转成.env时嵌套路径会被拼成A_B_C并转大写——这也是 Spring 读环境变量时的松散绑定规则(spring.datasource.url↔SPRING_DATASOURCE_URL)。- YAML 解析是简化版
- 这里只认缩进式的映射、列表和标量,够对付配置文件。锚点
&/*、多文档---、块标量|和>、流式写法{a: 1}都不支持。复杂的 YAML 请用 YAML/JSON 互转。 - 敏感值别忘了
- 配置文件里经常混着数据库密码和密钥。这页的转换全在本地做,但转完的结果要贴到别处之前,先用 JSON 结构处理 的脱敏过一道。