什么是 JSON 转 Properties?
Properties 是 Java 生态最经典的配置文件格式,以 键=值 的文本行存储,广泛用于 Spring Boot、mybatis、log4j 等框架的 application.properties。JSON 则能表达嵌套结构与数组。本工具读取一段 JSON,把嵌套对象扁平化为「点分键」,把数组按索引或逗号展开,自动转义特殊字符,转换为标准合规的 .properties 文件。
转换规则
- 嵌套对象:自动转为点分键,如
{"server": {"host": "localhost"}} 生成 server.host=localhost。
- 数组:默认按下标展开(
hosts.0=127.0.0.1、hosts.1=127.0.0.2);也可选择逗号拼接为单值(hosts=127.0.0.1,127.0.0.2),数组中含对象时会自动退回下标展开。
- 标量:字符串、数字、布尔值原样输出;
null 输出为空值。
- 转义:键中的空格、等号、冒号以及行首的
#/! 自动加反斜杠转义;值中的换行、制表符、回车等转为 \n、\t、\r 转义序列。
支持的转换选项
- 数组处理:`索引展开` 保留每个元素独立键名便于精确读取;`逗号拼接` 适合压缩配置行数。
- 分隔符:支持标准
= 与 : 两种键值分隔写法。
- 编码:`UTF-8 原文` 直接输出中文;`Unicode 转义` 将非 ASCII 字符转为
\uXXXX,适合需要保持纯 ASCII 的旧系统。
- 键名升序:对所有对象键按字母顺序排序,生成更整洁的配置。
常见问题
- JSON 键名本身包含点怎么办?:键名中的点会原样保留,与转换产生的点分路径一起输出,例如
{"app.name": "x"} 生成 app.name=x。
- 生成的配置放在哪里使用?:Spring Boot 项目可直接放到
src/main/resources/application.properties,Java 程序可用 Properties.load() 读取,亦可用于 Eclipse 等 IDE 的 .properties 资源文件。
- 为什么数组选了逗号拼接仍未拼接?:当数组里是对象或嵌套数组时无法用逗号表达结构,工具会自动改用索引展开。
- 转义后的文件读取会还原吗?:会,Java
Properties.load() 会按规范解析所有转义序列(含 \uXXXX)并还原原始内容。
使用说明与小贴士
粘贴或输入 JSON 后结果实时更新,无需手动点击转换。切换左上角的数组、分隔符、编码与排序选项后输出立即重新生成。中文生产环境推荐保留 `UTF-8 原文`;若配置文件需要发给不支持 UTF-8 的旧系统,再改用 `Unicode 转义`。所有转换均在浏览器本地完成,数据不会上传。