JSON 转 Properties

JSON 转 Java Properties 工具,把嵌套 JSON 拍平为点号路径的键值对配置(app.name=xxx),自动完成转义,中文原样输出,路径分隔符可在点号 / 冒号 / 斜杠之间切换。常用于 Java i18n 资源文件和配置迁移,全程浏览器本地处理。

在工作台中打开 本地处理 · 数据不上传

怎么使用

  1. 1

    粘贴对象型 JSON

    Properties 根必须是对象;嵌套对象会按路径拍平为键名。

  2. 2

    选择路径分隔符

    默认点号(app.name),也可按项目规范切换为冒号、斜杠或连字符。

  3. 3

    复制 .properties 文本

    键按字母序稳定输出,便于 diff;直接保存为 .properties 文件即可使用。

功能特点

嵌套路径拍平

{"server":{"port":8080}} 输出 server.port=8080,层级关系清晰。

键名转义可逆

键名本身含点号或反斜杠时自动转义(a\.b),回转 JSON 时精确还原,不会错误拆层。

完整词法转义

空格、=、:、换行、Tab 等值内特殊字符按 java.util.Properties 规则转义。

输出稳定有序

键按字母序排列输出,版本管理时 diff 干净,数组值以 JSON 文本存放不丢数据。

常见错误与排查

  • ! Properties 根必须是键值对对象,数组根请用对象包裹(如 { items: [...] })。
  • ! Properties 无数组类型:数组字段会存放为 JSON 文本,回转后仍是数组。
  • ! null 值输出为「键=」空值形式,与 Java Properties 的空值约定一致。

常见问题

嵌套 JSON 对象怎么表示?

用点号路径拍平:{app:{name:"x"}} 变为 app.name=x。分隔符可切换;键名本身含点号时会自动加反斜杠转义,保证回转后结构一致。

中文需要转成 \uXXXX 吗?

不需要。工具直接输出 UTF-8 中文,Java 9 起 Properties 原生支持 UTF-8 读取;若你的工具链强制 ISO-8859-1,可用 native2ascii 或 IDE 编码转换二次处理。

Properties 和 JSON 能完全互转吗?

标量与嵌套对象可逆;Properties 只有字符串和空值,类型靠推断还原,数组以 JSON 文本承载。建议在配置 / i18n 场景使用,不适合承载复杂表格数据。

相关工具