配置格式互转
输入一种配置格式,另外两种随输入实时生成。
怎么用
- 把配置粘贴进来 —— 可以是 YAML、JSON 或 Java .properties。自动识别源格式,另外两种在下方随输入实时生成,没有按钮要按。
- 识别错了就自己选源格式;缩进可选 2 或 4 空格;想保留 Spring 那种扁平点分键,把「点分键展开为嵌套」关掉。
- 两块结果各自复制或下载,文件名分别是 config.yaml、config.json 和 config.properties。
示例
输入(YAML)
server: port: 8080 name: order-service debug: true
JSON 与 Properties
{
"server": {
"port": 8080,
"name": "order-service"
},
"debug": true
}
Properties
----------
server.port = 8080
server.name = order-service
debug = true以上均为默认规则:源被识别为 YAML,所以 8080 是数字、true 是布尔。Properties 没有类型,同样的值在 Properties 里是字符串 8080 和 true —— 当源是 .properties 时,值从头到尾都是字符串。
口径、边界与已知问题
- 只做三种格式:YAML、JSON 与 Java .properties。不做 TOML、INI 的 [section]、XML 与 CSV。
- YAML 只支持配置子集:块映射、序列、flow 的 {…} / […]、引号标量与 | / > 块标量。锚点(&)、别名(*)、!标签、<< 合并键与 ? 复杂键一律报错,不做猜测。
- 只转换第一个 YAML 文档,后面的 --- 会被忽略并提示。
- 注释不保留:三种格式的注释位置语义不同,留在错位上的注释比没有注释更糟。
- Properties 没有类型,值一律字符串,`port = 8080` 转 JSON 是 "8080" 而不是 8080。数字、布尔与 null 只在源是 YAML 或 JSON 时保住类型。
- 非 ASCII 原样输出(UTF-8),不做 \uXXXX 转义。Java 的 Properties.store() 写的是 ISO-8859-1,粘进 Java 项目时请确认文件编码为 UTF-8。
- 超出安全整数范围的整数(如 12345678901234567890)按字符串保留你输入的每一位数字,不转数字、不丢精度。
- 键序保持输入顺序,不提供排序。
- 顶层是数组或单个值时无法写成 properties —— 那一块会提示,另一块照常转换。
- 不支持文件上传、URL 传参、历史记录。全部处理都在浏览器内完成:内容不上传、不保存。
- 含换行的字符串在 YAML 里写成 "a\nb",不是 | 块标量。
- 上限 100 万字符与 64 层嵌套:超过即报错,不截断。超过 20 万字符时,结果在停止输入约 0.6 秒后更新;输出用 LF、无末尾换行。
相关工具
配置换好格式之后,通常接下来要用这些。