编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 格式化 / Properties转JSON

Properties转JSON

把 properties/.env 转成 JSON。

输入
结果

这个工具能做什么

把 Java 的 .properties 和各类 .env 文件里 key=value 形式的配置,逐行解析成一个 JSON 对象。日常开发里,application.properties、database.properties、.env.local 这类文件字段多、平铺展开,肉眼核对容易看错行;要把它们喂给前端、Node 服务或某个只认 JSON 的配置中心时,又得手工一行行改格式。这个工具就是省掉这段机械劳动:把配置粘贴进去,立刻得到结构化的 JSON,键值一一对应,方便查看、对比和迁移。它同时兼容 # 注释行、= 或 : 两种分隔符,键和值前后多余的空白也会被自动去掉。

工作方式是标准的逐行文本解析。工具先按换行把内容拆开,跳过空行和以 # 开头的注释行,剩下的每一行找到第一个 = 或 : 作为分隔点,左边是 key、右边是 value,再对两端做 trim 去空白。只在第一个分隔符处切分是关键:这样 value 里再出现 = 或 :(比如 URL、jdbc 连接串、带冒号的时间)都会被完整保留,不会被截断。解析出的键值对逐个放进一个对象,最后序列化成带缩进的 JSON 文本。由于 properties 和 .env 本质是无类型的纯文本,值会以字符串形式保留,需要数字或布尔类型时得在拿到 JSON 后自行转换。整个过程都在浏览器本地完成,配置内容不会上传到服务器。

最常见的用法是配置迁移。比如把 Spring Boot 的 application.properties 里 server.port=8080、spring.datasource.url=jdbc:mysql://host:3306/db 这些字段转成 JSON,再导入到只接受 JSON 格式的配置平台或管理后台。又比如前端同学拿到后端一份 .env,想在 mock 数据或脚本里直接引用其中几个 key,转成 JSON 后用 JSON.parse 或 require 一行就能读到。还有排查线上问题或做 code review 时,把两个环境的 properties 各转一次 JSON 并排 diff,就能很快看出到底是哪个 key 的值不一样。

有几个边界值得注意。JSON 对象的键不能重复,如果原文件里同一个 key 出现多次,通常是后出现的覆盖前面的,转换前最好先确认没有重名。properties 里键名带点号(如 logging.level.root)在这里是作为一整个字符串键保留的,不会自动展开成嵌套对象。此外 .env 不同来源的写法差异较大,有人会给 value 加引号或写行尾注释,转完后建议对照原文件抽查几个关键字段。它和 ini 转 json 思路相近,区别是 INI 有 [section] 分节的概念,而 properties、.env 是扁平的键值列表,没有层级。

Properties转JSON是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“properties转json”、“env转json”、“配置转json”,说的都是这个。

常见使用场景

使用方法

  1. 把内容粘贴到输入框(生成类工具直接设置选项)。
  2. 按需要选择选项,点操作按钮。
  3. 结果出现在下方,点「复制结果」即可带走。

常见问题

这个工具支持哪些格式的配置文件?
主要针对 Java 的 .properties 和各类 .env 文件,也就是 key=value 或 key:value 形式的扁平键值文本。只有 key=value 的简单 INI 也能转,但 [section] 分节行不会被解析成嵌套层级,含分节的 INI 需要留意。
转出来的 JSON 里数字为什么还是带引号的字符串?
因为 properties 和 .env 本身不区分类型,所有值都是纯文本,转成 JSON 时会原样保留为字符串。如果需要真正的 number 或 boolean,要在程序里自己做一次类型转换。
value 里包含 = 或 : 会不会被错误切断?
不会。解析只在每行第一个分隔符处切分,后面出现的 = 和 : 都算作 value 的一部分,所以 jdbc:mysql://host:3306/db 这类连接串能被完整保留。
配置里有密码、密钥,用它转换安全吗?
转换全部在你自己的浏览器里完成,配置内容不会上传到任何服务器,所以含敏感信息的 .env 也可以放心处理。用完关掉页面即可。
同一个 key 写了两遍,结果会怎样?
JSON 对象不允许重复键,一般是后出现的值覆盖先出现的,最终只保留一个。原文件如果存在重名 key,转换前需要自己确认要保留哪一个。

相关工具

查看全部「格式化」工具 →

相关名词解释