.env 转 JSON 工具
把 .env 文件内容转换成 JSON,支持类型推断、嵌套键名和注释保留,纯浏览器本地运行。
粘贴 .env 文件内容,工具会在浏览器里即时转换成 JSON。默认开启类型推断,DEBUG=true 会变成真正的布尔值而不是字符串 "true";像 DB.HOST 这样带点号的键名会自动转成嵌套对象;注释行也不会被悄悄丢弃,而是保留成 $comments 字段。三个选项都可以单独关闭。全程不联网,转换完全在你的浏览器本地完成。
关于 .env 转 JSON 工具
.env 文件本质上是一行行 KEY=VALUE 的纯文本,写起来省心,但喂给需要结构化配置的代码就很别扭。这个工具能解析 .env 语法——包括 # 注释、带引号的值,以及 = 和 : 两种分隔符——直接产出一份可以塞进配置加载器、测试夹具或调试会话的 JSON 对象。输出由三个开关控制:类型推断会把看起来像数字或布尔值的字符串转成真正的 JSON 类型;点号键名嵌套会把 FEATURE.CACHE.TTL 变成 { "FEATURE": { "CACHE": { "TTL": ... } } };注释处理决定要不要保留原文件里用 # 写的说明。
你可能还需要
粘贴 .env 文件内容,工具会在浏览器里即时转换成 JSON。默认开启类型推断,DEBUG=true 会变成真正的布尔值而不是字符串 "true";像 DB.HOST 这样带点号的键名会自动转成嵌套对象;注释行也不会被悄悄丢弃,而是保留成 $comments 字段。三个选项都可以单独关闭。全程不联网,转换完全在你的浏览器本地完成。
如何把 .env 转换成 JSON
- 1
粘贴 .env 内容
把 .env 文件的内容复制进输入框,或者点烧瓶图标加载一份带注释、数字和布尔值的示例。
- 2
按需调整高级选项
打开高级选项可以切换类型推断、点号键名嵌套(以及分隔符),以及注释要保留成 $comments 字段还是直接忽略。默认设置符合常见约定:推断类型、嵌套键名、保留注释。
- 3
点击「转换」
解析器会逐行读取,去掉注释和引号,在输出框里生成 JSON 对象。之后再切换任意选项都会立刻重新转换,不用再点一次「转换」。
- 4
复制或下载 JSON
用复制图标把 JSON 拿去粘贴到别处,或者下载成 .json 文件。要反方向转换?点切换方向图标直接跳到 JSON 转 Env。
参考资料
- The Twelve-Factor App — Config
这套被广泛引用的方法论推广了把配置存进环境变量的做法,也是 .env 文件这套约定的源头。
- dotenv (motdotla) — README
KEY=VALUE 行、# 注释、带引号的值——这份 README 是 .env 文件语法事实上的参考实现和规范。
- RFC 8259 — The JSON Data Interchange Format
这个工具产出的 JSON 格式所依据的 IETF 规范。
相关开发者工具
Env 转 JSON 常见问题
- 怎么在线把 .env 文件转成 JSON?
- 把 .env 文件的内容粘贴到输入框,点击「转换」。工具会逐行解析 KEY=VALUE,在输出框里生成格式化的 JSON 对象,可以直接复制,也可以下载成 .json 文件。
- 这个工具会把我的 .env 文件上传到服务器吗?
- 不会。解析完全在浏览器里用 JavaScript 完成,不会对文件内容发起任何网络请求——这点很重要,因为 .env 文件里经常放着 API 密钥、数据库密码这类敏感信息。
- .env 转 JSON 之后注释还在吗?
- 默认会保留。以 # 开头的注释行会被收进输出 JSON 的 $comments 字段,每条注释对应它前面紧跟的那个键。想丢弃注释的话,在高级选项里把「注释」切到「忽略」即可。
- 布尔值和数字在转换时是怎么处理的?
- 默认开启「推断类型」,像 true、false、5432 这样的值会被转成真正的 JSON 布尔值/数字,而不是字符串。在高级选项里关掉「推断类型」,所有值都会原样保留成字符串,和 .env 原文一致。
- 可以把带点号的 .env 键名转成嵌套 JSON 对象吗?
- 可以。开启「点号键名 → 嵌套」(默认分隔符是「.」)后,像 APP.CACHE.TTL=60 这样的键会变成 { "APP": { "CACHE": { "TTL": 60 } } }。关掉这个开关就会保留原本的扁平点号键名。
- .env 和 JSON 在配置管理上有什么区别?
- .env 文件是一份扁平的 KEY=VALUE 列表,专为进程环境变量设计(参见 The Twelve-Factor App 的配置理念),而 JSON 天然支持嵌套结构和原生类型。转换之后你就能把 .env 的值当结构化数据来查看、对比,或者喂给只接受 JSON 的工具链。
- 支持 .env 文件里带引号的值吗?
- 支持。像 NAME="My App" 这样用单引号或双引号包起来的值,会在做类型推断之前自动去掉外层引号。