跳到主要内容

.env 配置解析

解析 dotenv 配置,校验键值与重复

KEY=VALUE 形式的 .env 与 JSON 互转。仅本地解析,不上传。

为什么需要 .env 与 JSON 互转

后端项目里配置习惯写在 .envKEY=VALUE 每行一个),但配置中心、CI、前端注入常常要 JSON。两边来回手抄既慢又容易把引号、注释、特殊字符搞坏。

本工具在 .env 文本和 JSON 对象之间双向转换:解析时自动去 export 前缀、去 # 注释、剥离多余引号;序列化时把 JSON 漂亮地写回 .env 格式。

概念与公式

.env 是「每行一个 KEY=VALUE」的纯文本格式(dotenv 约定):

  • # 开头为注释,空行忽略;
  • 值可用单/双引号包裹,也可裸写;
  • 部分项目用 export KEY=VALUE(shell 风格)。
  • JSON 是键值对的树形结构,支持嵌套对象 / 数组。

转换规则:解析时按行切分 → 跳过注释与空行 → 以首个 = 拆键和值 → 去引号 → 还原成 JSON 对象(纯扁平,不猜测嵌套);序列化时把 JSON 的扁平键逐行写成 KEY=VALUE

细分场景

  • 本地 ↔ 云端配置:把 .env 导成 JSON 推到配置中心,或反向拉回本地。
  • CI 注入:把 JSON 变量拆成 .env 供容器读取。
  • 快速预览:把一堆环境变量变成可读的 JSON 看结构。

怎么用本工具

在左侧贴 .env 或 JSON,选择方向(.env → JSONJSON → .env),结果即时出现在右侧。解析失败会提示哪一行格式异常。复制按钮一键带走。

常见场景与实例

例:解析

# 数据库
DB_HOST=127.0.0.1
DB_PORT=5432
export API_KEY="abc123"

{"DB_HOST":"127.0.0.1","DB_PORT":"5432","API_KEY":"abc123"}(注释、export、引号都被正确处理)。

例:序列化 把上面的 JSON 贴回,得到规整的 .env 文本。

相关工具:JSONPath 查询YAML ↔ JSON

隐私说明

全程浏览器本地计算,不联网、不上传你的配置内容(注意:密钥也在本地,请勿在公共设备粘贴生产密钥)。

常见问题

支持哪些写法?
支持 KEY=VALUE、# 注释、空行、双引号/单引号包裹(引号内可含空格与=)、以及 export 前缀。值里的 # 不在引号内会被当注释截断,这是 dotenv 规范。
重复键怎么处理?
默认标记为「重复键」,并保留最后一次出现的值(与大多数加载器行为一致)。列表会列出所有重复,方便你清理。
能导出成别的格式吗?
可一键导出为 JSON 对象,便于在脚本里引用;也可仅查看去重后的干净键值表。
敏感值会泄露吗?
不。解析全程在浏览器本地,不上传、不保存你粘贴的任何配置,含密钥的 .env 也安全。