.env-zu-JSON-Konverter
Wandeln Sie eine .env-Datei in JSON, docker-Flags mit -e oder einen Compose-environment-Block um und JSON zurück in .env – geparst genau wie von dotenv.
Eingabe
Ergebnis
Das Ergebnis erscheint hier.Eine .env-Datei wirkt zu einfach, um dabei etwas falsch zu machen – bis ein Wert ein #, ein Anführungszeichen oder einen Zeilenumbruch enthält. Dieses Werkzeug liest sie mit einer Zeile für Zeile übertragenen Portierung des Parsers aus motdotla/dotenv, dem Paket, mit dem die meisten Node-Projekte ihre Umgebung laden; was Sie hier sehen, stünde also in process.env. Wandeln Sie sie in JSON für einen Secrets-Manager oder eine Test-Fixture um, in -e-Flags für docker run oder in den environment:-Block einer Compose-Datei – oder gehen Sie den umgekehrten Weg und machen Sie aus einem JSON-Objekt eine .env-Datei, deren Quoting das erneute Einlesen übersteht.
So arbeitet es
- Ein # ohne Anführungszeichen beginnt einen Kommentar, selbst mitten in einem Wert – das ist die Regel von dotenv und eine häufige Ursache für abgeschnittene URLs.
- Werte in einfachen Anführungszeichen und Backticks werden wörtlich genommen; nur doppelte Anführungszeichen machen aus \n einen echten Zeilenumbruch.
- export KEY=value und KEY: value werden beide akzeptiert, und ein doppelt definierter Schlüssel behält seinen letzten Wert – die Statistik listet auf, welche Schlüssel sich wiederholen.
- Nicht leere Zeilen, die weder Kommentare noch Variablen sind, werden mit Zeilennummer aufgeführt, damit ein Tippfehler nicht stillschweigend verschwindet.
- Docker-Flags werden für die Shell gequotet, und die Compose-Ausgabe setzt jeden Wert in Anführungszeichen, den YAML sonst als etwas anderes lesen würde; so bleiben true, null oder 5432 Strings, statt zu einem Boolean, einem null oder einer Zahl zu werden.
Wohin Ihre Daten gehen
Nirgendwohin. Dieses Werkzeug läuft vollständig in Ihrem Browser: Der eingefügte Text wird von der Seite verarbeitet und weder an einen Server übertragen noch protokolliert.
Dieses Tool ist kostenlos und braucht kein Konto. Die Ergebnisse existieren nur in Ihrer geöffneten Seite und werden nirgends gespeichert.
Was es kostet
Dieses Werkzeug ist kostenlos, ohne Anmeldung und ohne Punkte.
Häufige Fragen
- Warum wurde meine URL beim # abgeschnitten?
- dotenv behandelt # überall in einem Wert ohne Anführungszeichen als Beginn eines Kommentars, also endet URL=https://example.com/#section beim Schrägstrich. Setzen Sie den Wert in Anführungszeichen – URL="https://example.com/#section" –, dann bleibt das # erhalten.
- Wie speichere ich einen mehrzeiligen Wert, etwa einen privaten Schlüssel?
- Entweder mit doppelten Anführungszeichen und \n-Escapes in einer Zeile oder mit doppelten Anführungszeichen über mehrere echte Zeilen; dotenv liest beides. Die Richtung JSON zu .env schreibt die einzeilige Form mit Escapes, denn sie übersteht das Einfügen in die Secret-Einstellungen einer CI; nur ein Wert, der sowohl einen Zeilenumbruch als auch ein doppeltes Anführungszeichen enthält, wird in Backticks über mehrere Zeilen geschrieben, weil dotenv ihn sonst nicht zurücklesen kann.
- Werden ${VARIABLE}-Referenzen aufgelöst?
- Nein, und dotenv selbst tut das auch nicht. Die Auflösung ist Aufgabe des separaten Pakets dotenv-expand, und Docker Compose wendet eigene Interpolationsregeln an. Die hier gezeigten Werte sind genau das, was parse von dotenv zurückgibt, Referenzen eingeschlossen als wörtlicher Text.
- Ist es klug, hier Produktions-Secrets einzufügen?
- Nichts verlässt die Seite – beim Konvertieren wird keine Anfrage gesendet –, aber eine .env voller Produktionszugangsdaten sollte man überall so wenig wie möglich anfassen. Die Werte vorher durch Platzhalter zu ersetzen ist eine gute Gewohnheit; die Struktur wird genauso konvertiert.
Das Open Source dahinter
Dieses Werkzeug ist eine eigenständige Implementierung ohne fremde Bibliothek. motdotla/dotenv (BSD-2-Clause) erledigt dieselbe Aufgabe als Bibliothek — wer sie im eigenen Programm braucht, fängt dort an, statt eine Webseite aufzurufen.
motdotla/dotenvAuch bekannt als
- .env zu JSON
- env Datei in JSON umwandeln
- JSON zu .env
- dotenv Parser online
- env Datei zu Docker env
- env zu Docker Compose