100 % lokal — Ihre Daten verlassen nie Ihren Browser

.env in JSON — Einstellungen für Ihren Code

Eine .env-Datei in JSON umwandeln. Anführungszeichen, Kommentare und export werden behandelt — die Einstellungen kommen als Objekt bei Ihrer App an.

Sofort Privat Null Cookies
Einrückung

.env-Eingabe

JSON-Ausgabe

Was dieses Werkzeug tut

Aus einer .env-Datei wird ein flaches JSON-Objekt.

# Dienst
export PORT=8080
NAME="Ada Lovelace"
EMPTY=
{
  "PORT": "8080",
  "NAME": "Ada Lovelace",
  "EMPTY": ""
}

Kommentar- und Leerzeilen werden übersprungen, ein führendes export fällt weg, und die Anführungszeichen um einen Wert fallen mit ihm. In doppelten Anführungszeichen werden \n und \t zu Zeilenumbruch und Tabulator; in einfachen bleibt alles wörtlich, wie in einer Shell.

Eine zweimal gesetzte Variable wird abgelehnt

PORT=8080
PORT=3000
Duplicate variable "PORT" on line 2: it already has a different value

Eine Shell behält die letzte Zuweisung und sagt nichts: der erste Wert verschwand einfach. In einer .env, die zusammengeführt, bearbeitet und zwischen Umgebungen kopiert wurde, ist dieses Schweigen teuer: Sie lesen die Datei, sehen oben PORT=8080, und der Prozess läuft auf 3000. Das Werkzeug hält nun an und nennt Variable und Zeile. Zwei gleiche Zuweisungen sind das Geständnis von nichts und gehen weiter durch. Ein echter Fehler, beim Schreiben dieser Seite gefunden und behoben.

Alles ist Zeichenkette

ID=007
ACTIVE=true
COUNT=3
{
  "ID": "007",
  "ACTIVE": "true",
  "COUNT": "3"
}

Eine Umgebungsvariable ist Text: das speichert das Betriebssystem, und das gibt process.env zurück. COUNT hier als Zahl zu typisieren wäre geraten, und ID als Zahl kostete ihre Nullen. Die Umwandlung behält den Text, und das Typisieren bleibt dort, wo die Bedeutung bekannt ist — in Ihrem Code.

Was das Format nicht trägt

  • Auflösung. PATH=$HOME/bin bleibt $HOME/bin. Was $HOME enthält, hängt von einer Maschine ab, die diese Seite nicht sieht.
  • Verschachtelung. .env ist eine flache Liste von Namen und Werten; es gibt keine Abschnitte und keine Struktur zu finden.
  • Einen Kommentar nach einem zitierten Wert. A="a #b" behält sein Rautenzeichen, denn es steht innerhalb der Anführungszeichen. Nach einem blanken Wert beginnt # einen Kommentar und wird abgeschnitten.
  • Jeden beliebigen Namen. Ein Name besteht aus Buchstaben, Ziffern, _ und . und beginnt nicht mit einer Ziffer — die Regel, die auch die Shell anwendet. Alles andere wird benannt und abgelehnt, statt in ein JSON geschrieben zu werden, das keine .env wieder aufnehmen könnte.

Datenschutz ab Werk

Alles läuft lokal in deinem Browser mit JavaScript. Deine Daten werden nie hochgeladen, wodurch das Tool auch für sensible Inhalte sicher ist und offline funktioniert.

Häufige Fragen

Warum wird eine zweimal gesetzte Variable abgelehnt?
Weil einer der beiden Werte kommentarlos verschwand. Eine Shell behält die letzte Zuweisung, also tat das Werkzeug es auch — und eine `.env` mit `PORT` in Zeile 3 und noch einmal in Zeile 40 verrät meist eine misslungene Zusammenführung, keine Entscheidung. Die Umwandlung hält jetzt an und nennt Variable und Zeile. Denselben Wert zu wiederholen ändert nichts, das geht weiterhin durch.
Warum ist `PORT=8080` im JSON eine Zeichenkette?
Weil eine Umgebungsvariable Text ist — mehr hält das Betriebssystem nicht. `8080`, `true` und `007` gehen als Zeichenketten hinein und kommen als Zeichenketten heraus; `process.env.PORT` ist auch eine. Ein Umwandler, der sie typisierte, entschiede für Sie und machte unterwegs aus einer aufgefüllten Kennung eine Zahl.
Wird `$HOME` aufgelöst?
Nein. `PATH=$HOME/bin` gibt Ihnen die Zeichenkette `$HOME/bin`, genau so, wie sie dasteht. Das Auflösen ist Sache der Shell, es hängt von einer Umgebung ab, die diese Seite nicht sieht, und es zu erraten setzte einen Wert in Ihr JSON, den es in Ihrer Datei nie gab.

Ähnliche Konverter