.properties 转 JSON 工具
把 Java .properties 文件转换成 JSON,支持无损解析、嵌套键名和注释保留,纯浏览器本地运行。
粘贴一份 Java .properties 文件,工具会在浏览器里即时转换成 JSON。像 app.cache.ttl 这样带点号的键名默认会变成嵌套对象,看起来像数字或布尔值的内容会被推断成真正的 JSON 类型,注释行会保留成 $comments 字段,原文件里写的说明一条都不会丢。底层解析器是无损的,注释、空行和键名顺序都会和 Java 自己的 java.util.Properties 读出来的结果完全一致。
关于 Properties 转 JSON 工具
Java 的 .properties 格式(key=value、key:value 或 key value,注释用 # 或 !)自 java.util.Properties API 早期就一直是标准的配置和 i18n 资源包格式。这个工具按照 JVM 同款规则解析——包括用反斜杠续行的多行值,以及 \uXXXX 这类 Unicode 转义——产出可以查看、对比,或者喂给 JavaScript 构建流程的 JSON。开启点号键名嵌套后,app.cache.ttl=60 会变成 { "app": { "cache": { "ttl": 60 } } };类型推断会把 "false" 变成真正的布尔值;注释处理决定要不要把记录每条属性说明的 # 行保留成 $comments 字段。
你可能还需要
粘贴一份 Java .properties 文件,工具会在浏览器里即时转换成 JSON。像 app.cache.ttl 这样带点号的键名默认会变成嵌套对象,看起来像数字或布尔值的内容会被推断成真正的 JSON 类型,注释行会保留成 $comments 字段,原文件里写的说明一条都不会丢。底层解析器是无损的,注释、空行和键名顺序都会和 Java 自己的 java.util.Properties 读出来的结果完全一致。
如何把 .properties 转换成 JSON
- 1
粘贴 .properties 内容
把 .properties 文件的内容复制进输入框,或者点烧瓶图标加载一份带注释和点号键名的示例。
- 2
按需调整高级选项
打开高级选项可以切换类型推断、点号键名嵌套(以及分隔符),以及注释要保留成 $comments 还是忽略。
- 3
点击「转换」
无损解析器会按文件原本的顺序读取属性、注释和空行,生成一个 JSON 对象。之后再切换选项会立刻重新计算。
- 4
复制或下载 JSON
复制 JSON,或者下载成 .json 文件。点切换方向图标可以跳到 JSON 转 Properties 做反向转换。
参考资料
- Java SE — java.util.Properties
官方 Java API 文档,定义了 .properties 文件格式,包括本解析器遵循的注释语法、分隔符和续行规则。
- RFC 8259 — The JSON Data Interchange Format
这个工具产出的 JSON 格式所依据的 IETF 规范。
相关开发者工具
Properties 转 JSON 常见问题
- 怎么在线把 Java .properties 文件转成 JSON?
- 把 .properties 文件的内容粘贴到输入框,点击「转换」。每一行 key=value 都会变成一个 JSON 字段,点号键名默认会被嵌套。复制结果,或者下载成 .json 文件。
- 这个工具解析的规则和 Java Properties 文件格式完全一致吗?
- 是的。解析规则和 java.util.Properties 完全一样:键和值可以用 =、: 或者空白分隔,注释以 # 或 ! 开头,多行值可以用反斜杠续行。
- 我的 .properties 文件会被上传到服务器吗?
- 不会。所有解析都在浏览器里用 JavaScript 本地完成,不会有任何数据经过网络发送——这点对包含内网主机名或凭证的 properties 文件尤其重要。
- 可以把带点号的 .properties 键名转成嵌套 JSON 对象吗?
- 可以。开启「点号键名 → 嵌套」(默认分隔符是「.」)后,像 server.port=8080 这样的键会变成 { "server": { "port": 8080 } }。关掉这个选项,扁平的点号键名会作为单个 JSON 字段保留下来。
- .properties 转 JSON 会保留注释吗?
- 默认会——注释行会挂在它前面紧跟的那个属性上,收进输出的 $comments 字段。想要一份干净的、只有值的 JSON,可以在高级选项里把「注释」切到「忽略」。
- .properties 里的布尔值和数字是怎么处理的?
- 开启「推断类型」后,像 true、false,或者 1.2.3 这种看起来像版本号的数值,会在合法的情况下被转成 JSON 布尔值和数字。关掉「推断类型」,所有值都会原样保留成字符串,和 .properties 原文一致。
- .properties 和 JSON 有什么区别?
- Java 的 .properties 是面向行的键值对文本,常用于应用配置和 i18n 资源包;JSON 原生支持嵌套结构和带类型的值。转换之后就能把 properties 文件当结构化数据来对比,或者导入期待 JSON 的 JavaScript/TypeScript 工具链。