JSON 转 Properties 工具

把 JSON 对象转换成 Java .properties 格式,支持嵌套对象展平和注释回填,纯浏览器本地运行。

粘贴一份 JSON 对象,工具会在浏览器里即时转换成 Java .properties 格式。嵌套对象默认会被展平成点号键名(也可以关掉展平,保留原样),如果 JSON 里带有 Properties 转 JSON 工具产出的 $comments 字段,对应的注释会以 # 开头的行回填到相应键的上方。全程不联网,转换完全在浏览器本地完成。

JSON 输入

上传

高级选项转换清除

.properties 输出

结果会显示在这里...

复制下载

结果会显示在这里...

关于 JSON 转 Properties 工具

这是 Properties 转 JSON 的反向操作:接收一份 JSON 对象——不管是扁平的还是嵌套的——生成一份兼容 java.util.Properties#load 的 Java .properties 文件。开启点号键名展平后,像 { "server": { "port": 8080 } } 这样的嵌套对象会变成 server.port=8080 这样的点号键名;关掉这个开关就要求输入的 JSON 本身已经是扁平的。如果 JSON 里带有 $comments 对象(比如直接粘贴 Properties 转 JSON 的输出结果),每一条都会以 # 注释行的形式写回到对应键的正上方,这样在两个工具之间来回转换也不会丢失文件原来的说明文字。

你可能还需要

Properties 转 JSON

将 Java .properties 文件无损转换为嵌套 JSON。

打开工具

JSON 转 Env

将 JSON 对象转换为 .env 的 KEY=VALUE 格式,并展平点号键。

打开工具

JSON格式化和验证器

格式化、验证和可视化JSON数据。

打开工具

YAML 转 JSON

将 YAML 转换为 JSON 或将 JSON 转换为 YAML。

打开工具

粘贴一份 JSON 对象,工具会在浏览器里即时转换成 Java .properties 格式。嵌套对象默认会被展平成点号键名(也可以关掉展平,保留原样),如果 JSON 里带有 Properties 转 JSON 工具产出的 $comments 字段,对应的注释会以 # 开头的行回填到相应键的上方。全程不联网,转换完全在浏览器本地完成。

如何把 JSON 转换成 .properties

  1. 1

    粘贴 JSON 对象

    把 JSON 对象输入到输入框,或者点烧瓶图标加载一份带嵌套对象的示例。

  2. 2

    选择展平方式和注释行为

    打开高级选项可以设置点号键名的分隔符或关闭展平,还能选择 $comments 字段要写回成 # 注释行还是直接忽略。

  3. 3

    点击「转换」

    JSON 会被展平(如果开启了这个选项),用专门理解 properties 格式的序列化器逐行写成 key=value,有注释的话会回填到对应键上方。

  4. 4

    复制或下载 .properties 文件

    复制输出结果,或者下载成一份可以直接放进 Java 资源目录的 .properties 文件。点切换方向图标可以跳回 Properties 转 JSON。

参考资料

相关开发者工具

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 工具开启类型推断读回去的结果才能对得上。