Java .properties 转 JSON 转换器
按 Properties.load 的规则将 Java .properties 文件转换为 JSON:注释、= : 和空格分隔符、续行、\uXXXX 转义、嵌套。免费。
完全在浏览器中运行,您的数据不会被上传。
相关工具
查看全部什么是 Properties 转 JSON?
粘贴 Java .properties 文件——例如 Spring Boot 的 application.properties 或消息资源包——即可得到 JSON。键可以保持扁平("app.name"),也可以按其中的点号嵌套为对象。
如何使用 Properties 转 JSON
- 将 .properties 粘贴到 .properties 输入框中,或使用加载示例或打开文件。
- 切换将点号键嵌套为对象,并选择 JSON 的缩进。
- JSON 输出会随你的输入实时更新;可使用复制或下载。
示例
输入
app.name = My App app.port: 8080
输出
{
"app.name": "My App",
"app.port": "8080"
} 何时使用 Properties 转 JSON
适合查看、迁移或比对 Java 配置和 i18n 资源包。它不会解析 ${server.port} 这样的 Spring 占位符,也不处理特定 profile 的文件。
Properties 转 JSON 的工作原理
解析器遵循 java.util.Properties.load:以 # 或 ! 开头的行是注释,以奇数个反斜杠结尾的行会延续到下一行(去掉前导空白),键在第一个未转义的 =、: 或空白处结束。\t、\n、\r、\f 和 \uXXXX 转义会被解码;其他被转义的字符代表其自身。后出现的重复键优先。嵌套时,若某个键会与已有的值冲突(例如 a=1 和 a.b=2),它会保持扁平,这样不会丢失任何内容。和 Java 中一样,所有值都是字符串。
常见用例
- 把 application.properties 转换为 JSON 或便于转为 YAML 的结构
- 把 Java 消息资源包转换为 JavaScript i18n 库使用的 JSON
- 把两个 properties 文件作为 JSON 来比较
- 解码旧版 ISO-8859-1 资源包中的 \u 转义
常见问题
数字会被转换吗?
不会。Java properties 始终是字符串,因此值会保持为 "8080" 这样的字符串。
续行是如何处理的?
行尾的反斜杠会连接下一行,并去掉该行的前导空格,与 Java 的做法完全一致。
嵌套冲突时会怎样?
如果 a 和 a.b 同时存在,a.b 会保持为扁平的键,而不是覆盖 a。
推荐的下一步
JSON 格式化
在线格式化并美化 JSON,支持 2 空格、4 空格或制表符缩进,可按字母排序键,语法错误会精确提示行号和列号。完全在浏览器中运行。
转义/反转义工具
一个工具搞定字符串转义与反转义:支持 JSON、JavaScript、HTML、XML、URL 组件、正则表达式、SQL 字面量、CSS 字符串和 Shell 参数。
JSON 压缩
移除 JSON 中所有无意义的空白,同时保持值、键顺序和大数字不变,并显示节省的体积。免费且在浏览器内运行。
JSON 路径查找
以 JSONPath、JavaScript 或 jq 语法列出 JSON 文档中的每个路径,点击路径即可查看其值,也可输入路径直接查询。在浏览器中运行。
JSON 对比
按结构比较两个 JSON 文档:以 JSONPath 显示新增、删除和修改的值,忽略键顺序和排版。免费,在浏览器中运行。
JSON 查询(JSONPath)
用 JSONPath 查询 JSON:支持通配符、递归下降、切片以及 [?(@.price < 10)] 这样的过滤表达式,结果随输入实时更新。不是 jq 语法。