JSON 转 Env 工具
把 JSON 对象转换成 .env 的 KEY=VALUE 格式,支持嵌套对象展平和注释回填,纯浏览器本地运行。
粘贴一份 JSON 对象,工具会在浏览器里即时转换成 .env 的 KEY=VALUE 格式。嵌套对象默认会被展平成点号键名(也可以关掉展平,保留原样),如果 JSON 里带有 Env 转 JSON 工具产出的 $comments 字段,对应的注释会以 # 开头的行回填到相应键的上方。全程不联网,转换完全在浏览器本地完成。
关于 JSON 转 Env 工具
这是 Env 转 JSON 的反向操作:接收一份 JSON 对象——不管是扁平的还是嵌套的——直接生成进程管理器、Docker Compose 文件或 shell 都能直接 source 的纯文本 .env。开启点号键名展平后,像 { "app": { "cache": { "ttl": 60 } } } 这样的嵌套对象会变成 APP.CACHE.TTL=60 这样的点号键名;关掉这个开关就要求输入的 JSON 本身已经是扁平的。如果 JSON 里带有 $comments 对象(比如直接粘贴 Env 转 JSON 的输出结果),每一条都会以 # 注释行的形式写回到对应键的正上方,这样在两个工具之间来回转换也不会丢失原来的说明文字。
你可能还需要
粘贴一份 JSON 对象,工具会在浏览器里即时转换成 .env 的 KEY=VALUE 格式。嵌套对象默认会被展平成点号键名(也可以关掉展平,保留原样),如果 JSON 里带有 Env 转 JSON 工具产出的 $comments 字段,对应的注释会以 # 开头的行回填到相应键的上方。全程不联网,转换完全在浏览器本地完成。
如何把 JSON 转换成 .env
- 1
粘贴 JSON 对象
把 JSON 对象输入到输入框,或者点烧瓶图标加载一份带嵌套对象的示例。
- 2
选择展平方式和注释行为
打开高级选项可以设置点号键名的分隔符或关闭展平,还能选择 $comments 字段要写回成 # 注释行还是直接忽略。
- 3
点击「转换」
JSON 会被展平(如果开启了这个选项),每一项都会写成一行 KEY=VALUE,有注释的话会回填到对应键上方。
- 4
复制或下载 .env 文件
复制输出结果,或者下载成一份可以直接放进项目里的 .env 文件。点切换方向图标可以跳回 Env 转 JSON。
参考资料
- The Twelve-Factor App — Config
把配置存成环境变量这套方法论,也是本工具输出格式所遵循的规范。
- dotenv (motdotla) — README
.env 文件语法的参考实现,说明了 KEY=VALUE 键值对和注释的常规写法。
- RFC 8259 — The JSON Data Interchange Format
本工具解析的 JSON 输入格式所依据的 IETF 规范。
相关开发者工具
JSON 转 Env 常见问题
- 怎么在线把 JSON 转换成 .env 文件?
- 把 JSON 对象粘贴到输入框,点击「转换」。每个顶层键都会变成一行 KEY=VALUE,嵌套对象默认会被展平成点号键名。复制结果,或者下载成 .env 文件。
- 可以把嵌套的 JSON 对象转成 .env 格式吗?
- 可以。开启「点号键名 → 嵌套」后,像 { "db": { "host": "localhost" } } 这样的嵌套对象会被展平成 DB.HOST=localhost。关掉这个开关就只接受本身已经是扁平结构的 JSON。
- 转换成 .env 时我的 JSON 会被上传吗?
- 不会。所有解析和格式化都在浏览器里用 JavaScript 本地完成——这点很重要,因为 .env 输出里经常包含 API 密钥、数据库密码这类敏感信息。
- 布尔值和数字在 .env 输出里是怎么写的?
- JSON 里的布尔值和数字会按原样的纯文本形式写出——true、false 或者数字本身,这样 Env 转 JSON 工具开启类型推断读回去的结果才能对得上。
- JSON 转 Env 支持注释吗?
- 如果你的 JSON 里带有 $comments 对象(比如直接从 Env 转 JSON 的输出粘贴过来),每一条都会以 # 注释行的形式回填到对应键上方。想跳过这一步、只输出纯粹的 KEY=VALUE,可以在高级选项里把「注释」设为「忽略」。
- 展平嵌套 JSON 键名时用的是什么分隔符?
- 默认分隔符是点号(.),对应 DB.HOST 这类常见的环境变量命名习惯。可以在高级选项里改成别的字符,比如改成下划线得到 DB_HOST。
- 可以用这个工具给 Docker 或 Node.js 生成 .env 文件吗?
- 可以。输出的是标准 KEY=VALUE 文本,兼容 dotenv、Docker Compose 的 env_file,以及大多数在启动时读取 .env 文件的进程管理器。