dotenv 转 JSON 转换器
在浏览器中把 .env 文件转成 JSON 对象,再把 JSON 转回 .env。你的环境变量始终留在本地。
dotenv 转 JSON 转换器完全在你的浏览器中运行。你粘贴的 .env 文件、JSON 和密钥绝不会离开你的设备,也不会上传任何内容到 ArrayKit。
打开 JSON 格式化工具
关于 dotenv 转 JSON 转换器
dotenv 转 JSON 转换器读取一个 .env 文件——dotenv、docker-compose 和大多数 12-factor 应用使用的 KEY=value 格式——并把它转成一个干净的 JSON 对象,让你可以放进配置、密钥管理器或 CI 变量集。它理解单引号和双引号的值,忽略空行和 '#' 注释,去掉可选的 'export ' 前缀,并在双引号内解转义像 \n 这样的序列。切换开关反向进行,JSON 就变成一个有效的 .env 文件,任何包含空格或 '#' 的值都会被自动加上双引号以便正确解析。它为搭建环境、轮换密钥或检查配置实际内容的开发者打造。一切都在你的设备上运行——你的环境变量绝不离开浏览器。
功能特性
- 一次粘贴即可把 .env 文件转成扁平的 JSON 对象
- 把 JSON 对象转回有效的 .env 文件
- 处理单引号、双引号和裸值
- 跳过空行以及整行或行内的 '#' 注释
- 去掉每个键上可选的 'export ' 前缀
- 为含空格或 '#' 的 JSON 值加双引号,以便 .env 重新解析
- 在双引号值内解转义 \n、\t 和 \"
- 完全在你的浏览器中运行,不上传任何变量
如何使用 dotenv 转 JSON 转换器
- 保持选中「.env → JSON」并粘贴你的 .env 文件
- 复制 JSON 对象,或将其下载为 env.json
- 切换到「JSON → .env」以反向转换
- 粘贴一个 JSON 对象并复制生成的 .env 文本
示例
输入
export PORT=3000
APP_NAME="My Service"
DEBUG=false # verbose
输出
{
"PORT": "3000",
"APP_NAME": "My Service",
"DEBUG": "false"
}
'export ' 前缀和行内注释被去掉;带引号的值被保留。
常见错误与故障排除
- 含空格或 '#' 的值在转成 .env 后丢失了一部分。 — 正因如此,转换器会自动给这类值加上双引号。如果你手动编辑 .env,请把值包在双引号里,好让 dotenv 完整读取。
- 「JSON → .env」报告 JSON 必须是单个对象。 — .env 文件是一组扁平的键/值对,因此输入必须是一个 JSON 对象——不能是数组,也不能是顶层的字符串或数字。
- 未加引号的值里,一个行内 '# comment' 消失了。 — 在 .env 中,值后面的 '#' 会开始一段注释。如果 '#' 是数据的一部分,请把值包在引号里,例如 SECRET="a#b"。
- 数字和布尔值在 JSON 里带了引号。 — 环境变量始终是字符串,因此转换器把每个值都保留为 JSON 字符串,以匹配你的应用读取它们的方式。
常见问题
- dotenv 转 JSON 转换器如何处理 .env 文件里的引号?
- 双引号值会被解转义(因此 \n 变成换行),而单引号值保持字面。两种引号都能让一个值容纳空格、'=' 或 '#' 而不被截断。周围的引号会在 JSON 输出中去掉。
- 把 .env 转成 JSON 时注释和 export 前缀会怎样处理?
- 整行 '#' 注释和空行会被跳过,未加引号的值后面的行内 '# comment' 会被丢弃。键前面的 'export ' 前缀会被去掉,因此 JSON 键就是变量名本身。
- 为什么我的所有值在 JSON 输出里都是字符串?
- 环境变量按定义就是字符串——PORT=3000 是文本 "3000",不是数字 3000。转换器保留这一点,使 JSON 完全匹配你应用里 process.env 返回的内容。
- JSON 转 .env 如何决定何时加引号?
- 任何包含空格、'#' 或引号字符的值都会被包在双引号里,并对特殊字符转义,使产生的 .env 行能解析回原始值。简单的标记则保持不加引号。
- 我可以把一个带嵌套对象的 JSON 配置转成 .env 文件吗?
- .env 文件是扁平的,因此嵌套对象和数组会被 JSON 序列化成单个带引号的值。若要真正扁平的文件,请在转换前把你的 JSON 拍平为顶层的字符串值。
- 我的环境变量和密钥会被上传到任何地方吗?
- 不会。dotenv 转 JSON 转换器完全在你的浏览器中运行。你粘贴的 .env 文本和 JSON 绝不会离开你的设备,也不会发送到 ArrayKit 或任何服务器。
相关工具
全部 ArrayKit 工具