JSON 转 Properties 工具
把 JSON 对象转换成 Java .properties 格式,支持嵌套对象展平和注释回填,纯浏览器本地运行。
粘贴一份 JSON 对象,工具会在浏览器里即时转换成 Java .properties 格式。嵌套对象默认会被展平成点号键名(也可以关掉展平,保留原样),如果 JSON 里带有 Properties 转 JSON 工具产出的 $comments 字段,对应的注释会以 # 开头的行回填到相应键的上方。全程不联网,转换完全在浏览器本地完成。
关于 JSON 转 Properties 工具
这是 Properties 转 JSON 的反向操作:接收一份 JSON 对象——不管是扁平的还是嵌套的——生成一份兼容 java.util.Properties#load 的 Java .properties 文件。开启点号键名展平后,像 { "server": { "port": 8080 } } 这样的嵌套对象会变成 server.port=8080 这样的点号键名;关掉这个开关就要求输入的 JSON 本身已经是扁平的。如果 JSON 里带有 $comments 对象(比如直接粘贴 Properties 转 JSON 的输出结果),每一条都会以 # 注释行的形式写回到对应键的正上方,这样在两个工具之间来回转换也不会丢失文件原来的说明文字。
你可能还需要
粘贴一份 JSON 对象,工具会在浏览器里即时转换成 Java .properties 格式。嵌套对象默认会被展平成点号键名(也可以关掉展平,保留原样),如果 JSON 里带有 Properties 转 JSON 工具产出的 $comments 字段,对应的注释会以 # 开头的行回填到相应键的上方。全程不联网,转换完全在浏览器本地完成。
如何把 JSON 转换成 .properties
- 1
粘贴 JSON 对象
把 JSON 对象输入到输入框,或者点烧瓶图标加载一份带嵌套对象的示例。
- 2
选择展平方式和注释行为
打开高级选项可以设置点号键名的分隔符或关闭展平,还能选择 $comments 字段要写回成 # 注释行还是直接忽略。
- 3
点击「转换」
JSON 会被展平(如果开启了这个选项),用专门理解 properties 格式的序列化器逐行写成 key=value,有注释的话会回填到对应键上方。
- 4
复制或下载 .properties 文件
复制输出结果,或者下载成一份可以直接放进 Java 资源目录的 .properties 文件。点切换方向图标可以跳回 Properties 转 JSON。
参考资料
- Java SE — java.util.Properties
官方 Java API 文档,定义了本工具输出所对应的 .properties 文件格式。
- RFC 8259 — The JSON Data Interchange Format
本工具解析的 JSON 输入格式所依据的 IETF 规范。
相关开发者工具
JSON 转 Properties 常见问题
- 怎么在线把 JSON 转换成 Java .properties 文件?
- 把 JSON 对象粘贴到输入框,点击「转换」。每个顶层键都会变成一行 key=value,嵌套对象默认会被展平成点号键名。复制结果,或者下载成 .properties 文件。
- 可以把嵌套的 JSON 对象转成 .properties 格式吗?
- 可以。开启「点号键名 → 嵌套」后,像 { "app": { "name": "MyApp" } } 这样的嵌套对象会被展平成 app.name=MyApp。关掉这个开关就只接受本身已经是扁平结构的 JSON。
- 输出结果和 java.util.Properties 兼容吗?
- 兼容。.properties 的输出由专门理解 properties 文件格式的序列化器生成,键和值都遵循 java.util.Properties#load 期望的约定,包括标准的 = 分隔符。
- 转换成 .properties 时我的 JSON 会被上传吗?
- 不会。所有解析和格式化都在浏览器里用 JavaScript 本地完成,不涉及任何和你的数据相关的网络请求。
- JSON 转 Properties 支持注释吗?
- 如果你的 JSON 里带有 $comments 对象(比如直接从 Properties 转 JSON 的输出粘贴过来),每一条都会以 # 注释行的形式回填到对应键上方。想只输出纯粹的 key=value,可以在高级选项里把「注释」设为「忽略」。
- 展平嵌套 JSON 键名时用的是什么分隔符?
- 默认分隔符是点号(.),对应 app.cache.ttl 这类标准的 Java properties 命名习惯。如果你的 properties 文件用别的约定,可以在高级选项里修改分隔符。
- 布尔值和数字在 .properties 输出里是怎么写的?
- JSON 里的布尔值和数字会按原样的纯文本形式写出——true、false 或者数字本身,这样 Properties 转 JSON 工具开启类型推断读回去的结果才能对得上。