Zum Inhalt springen
Case Converter Online
de

Text in JSON-String umwandeln

Füge beliebigen Text oder JSON ein und bekomm ihn als einen einzigen escapten JSON-String zurück, bereit für ein anderes JSON-Dokument, einen Konfigurationswert oder eine Codezeile.

Füge Text oder JSON ein oder klicke auf Beispiel. Alles läuft in deinem Browser.

Was dieses Tool macht

Ein JSON-String ist Text in doppelten Anführungszeichen, in dem manche Zeichen mit einem Backslash geschrieben werden: Ein doppeltes Anführungszeichen wird zu \", ein Backslash zu \\, ein Zeilenumbruch zu \n und ein Tab zu \t. Dieses Tool nimmt deinen Text und schreibt ihn als solchen String. Das ist genau das, was JSON.stringify in JavaScript macht, wenn du ihm einen String gibst.

Du brauchst das, wenn ein JSON-Dokument ein anderes enthalten soll, oder beliebigen Text mit Anführungszeichen und Zeilenumbrüchen, in einem einzigen Feld. Die Escapes von Hand zu schreiben ist mühsam und fehleranfällig. Ein vergessener Backslash macht die ganze Payload ungültig.

So nutzt du es

  1. Füge Text oder JSON in das linke Feld ein, klicke auf Datei öffnen oder auf Beispiel.
  2. Der escapte String erscheint beim Tippen rechts.
  3. Wähl die Optionen, die du brauchst:
    • JSON vorher komprimieren entfernt die Formatierung von gültigem JSON vor dem Escapen. Diese Option ist standardmäßig an.
    • In Anführungszeichen setzen fügt die äußeren doppelten Anführungszeichen hinzu. Schalte sie aus, wenn du an einer Stelle einfügst, die schon Anführungszeichen hat.
    • Nicht-ASCII als \u escapen schreibt Umlaute, Buchstaben mit Akzent, Symbole und andere Nicht-ASCII-Zeichen als \u-Codes.
  4. Klicke auf Kopieren oder auf Herunterladen, um das Ergebnis als Textdatei zu speichern.

Die Zeile unter den Feldern sagt dir, ob die Eingabe gültiges JSON war und wie viele Zeichen das Ergebnis hat.

Beispiele

Normaler Text mit einem Anführungszeichen und einem Zeilenumbruch:

He said "hello"
then left.

wird zu:

"He said \"hello\"\nthen left."

Formatiertes JSON mit JSON vorher komprimieren an:

{
  "name": "Ada",
  "tags": ["admin", "dev"]
}

wird zu:

"{\"name\":\"Ada\",\"tags\":[\"admin\",\"dev\"]}"

Mit JSON vorher komprimieren aus bleibt die Einrückung erhalten und wird escaped. Aus {, gefolgt von einem Zeilenumbruch und "name": "Ada", wird dann:

"{\n  \"name\": \"Ada\"\n}"

Ein Windows-Pfad, bei dem jeder Backslash verdoppelt wird:

"C:\\Users\\Ada\\notes.txt"

Umlaute und andere Nicht-ASCII-Zeichen

JSON erlaubt jedes Unicode-Zeichen in einem String, Café 東京 ist also so, wie es ist, gültig:

"Café 東京"

Das gilt genauso für ä, ö, ü und ß. Manche älteren Systeme, Terminals oder Felder mit Byte-Grenze nehmen aber nur ASCII an. Mit Nicht-ASCII als \u escapen wird derselbe Text zu:

"Caf\u00e9 \u6771\u4eac"

Und „Schöne Grüße aus Köln“ wird zu "Sch\u00f6ne Gr\u00fc\u00dfe aus K\u00f6ln". Jeder Umlaut wird dabei zu einem sechsstelligen Code, das Ergebnis wird also länger.

Zeichen außerhalb der Basic Multilingual Plane, etwa die meisten Emojis, werden als zwei Codes geschrieben (ein Surrogatpaar). Ein grinsendes Gesicht wird zu "\ud83d\ude00". Jeder JSON-Parser macht daraus wieder die ursprünglichen Zeichen.

Ohne äußere Anführungszeichen

Schalte In Anführungszeichen setzen aus, wenn der String in ein Template, ein Formularfeld oder ein vorhandenes Paar Anführungszeichen kommt. Der Text Tab, gefolgt von einem Tab und here, kommt dann so heraus:

Tab\there

So funktioniert es

Das Tool nutzt das eingebaute JSON.stringify des Browsers, das Escapen folgt also genau dem JSON-Standard. Vorher versucht es, die Eingabe als JSON zu lesen, wenn JSON vorher komprimieren an ist und die Eingabe mit { oder [ beginnt. Klappt das, wird das JSON ohne Leerraum ausgegeben, und Zahlen bleiben genau so, wie du sie geschrieben hast. Dann wird der ganze Text als ein String escaped. Nichts wird an einen Server gesendet.

Tipps und Grenzen

  • Das Ergebnis ist ein JSON-String, kein Template-Literal in JavaScript und kein Shell-String. Shells und manche Sprachen brauchen zusätzlich ihre eigene Quotierung.
  • Wenn du das Ergebnis noch einmal stringifizierst, bekommst du einen doppelt escapten String. Manchmal erwartet eine API genau das, meistens ist es aber ein Zeichen für einen Bug.
  • Sehr große Eingaben sind kein Problem. Die Arbeit passiert lokal, und die Geschwindigkeit hängt von deinem Gerät ab.

Andere Wege

JavaScript. JSON.stringify(text) gibt den escapten String zurück. Um ein Objekt einzubetten, nimm JSON.stringify(JSON.stringify(obj)).

Python. json.dumps(text) macht dasselbe für einen String. Gib ensure_ascii=False mit, damit Umlaute und andere Nicht-ASCII-Zeichen so bleiben, wie sie sind, denn standardmäßig werden sie escaped.

jq. jq -Rs . file.txt liest eine ganze Datei als rohen Text und gibt sie als einen JSON-String aus.

Ähnliche Tools

Um einen escapten String wieder in lesbaren Text oder JSON zu verwandeln, nimm JSON-String in Text umwandeln. Um JSON vorher zu prüfen oder schön auszugeben, nimm den JSON Formatter. Um JSON aus einer Tabelle zu bauen, nimm CSV in JSON umwandeln.

JSON Stringify: Fragen und Antworten

Was bedeutet JSON Stringify?

Es bedeutet, einen Wert als JSON-Text zu schreiben. Für ein Stück Text ergibt das einen JSON-String: den Text in doppelten Anführungszeichen, wobei Anführungszeichen, Backslashes, Zeilenumbrüche und Tabs escaped werden, damit das Ergebnis gültiges JSON ist.

Warum sollte ich JSON in einen JSON-String packen?

Manche Systeme speichern oder senden ein ganzes JSON-Dokument als ein einziges String-Feld. Beispiele sind Message Queues, Webhook-Payloads, Logzeilen, Umgebungsvariablen und manche Datenbankspalten. Das innere JSON muss escaped werden, damit es hineinpasst.

Was macht JSON vorher komprimieren?

Wenn deine Eingabe gültiges JSON ist, werden ihre Leerzeichen und Zeilenumbrüche vor dem Escapen entfernt. Das Ergebnis ist kürzer und enthält keine \n-Escapes aus der Formatierung. Ist die Eingabe kein gültiges JSON, wird der Text genau so escaped, wie er getippt wurde.

Wie mache ich das rückgängig?

Nimm das Tool JSON-String in Text umwandeln. Es nimmt einen escapten String, mit oder ohne äußere Anführungszeichen, und gibt den ursprünglichen Text oder das JSON zurück.

Mehr Tools für Code und Daten

Alle Tools ansehen