100 % lokal — Ihre Daten verlassen nie Ihren Browser

JSON-String zu Text — den Wert darin lesen

Ein JSON-String-Literal zurück in Text dekodieren. Die umgebenden Anführungszeichen sind optional, und eine Ablehnung nennt, was wo nicht stimmt.

Sofort Privat Null Cookies

JSON String-Eingabe

Text-Ausgabe

Was dieses Werkzeug tut

Ein JSON-String-Literal wird zu dem Text, den es darstellt. "caf\u00e9" ergibt café, "zwei\nZeilen" ergibt zwei Zeilen, und "\ud83d\ude00" ergibt das Emoji — ein Surrogatpaar ist ein Zeichen, nicht zwei kaputte Hälften.

Die Anführungszeichen sind optional

Beide Formen funktionieren:

"caf\u00e9"
caf\u00e9

Das ist Absicht. Eine JSON-Zeichenkette kommt selten mit intakten Anführungszeichen an: man kopiert sie aus einer Logzeile, einem git diff, einem Stacktrace, einer Fehlermeldung, die nur das Innere zitiert hat. Die Anführungszeichen zu verlangen hieße, sie jedes Mal von Hand zu ergänzen.

Der Preis ist klein und wird klar benannt: eine nackte Eingabe, die zufällig gültiges JSON anderer Art ist — [1,2], null — wird als Text gelesen, denn genau das bedeutet ein nacktes Fragment hier. Nur eine Eingabe in Anführungszeichen wird als Literal geparst.

Eine Ablehnung sagt was und wo

Eine Eingabe, die keine JSON-Zeichenkette ist, wird abgelehnt statt halb dekodiert, und die Meldung nennt die Ursache:

EingabeMeldung
a"bUnescaped quotation mark at position 1: write it as \"
"ab\q"Unknown escape "\q" at position 3
"a\u12"Invalid \u escape at position 2: four hexadecimal digits expected
"abcThe opening quotation mark has no closing quotation mark
{"a":1}Expected a JSON string, found a JSON object

Positionen zählen ab null und beziehen sich auf den Text, den Sie eingefügt haben — die Zahl führt Sie zum Zeichen.

Das ist erwähnenswert, weil es vorher anders war: jeder dieser Fälle erzeugte die eine Meldung Invalid JSON string escape sequence. Ein eingefügtes Objekt ist kein Escaping-Fehler, und das Gegenteil gesagt zu bekommen schickt Sie an die falsche Stelle. Das war ein echter Mangel dieses Werkzeugs, beim Schreiben dieser Seite gefunden und behoben.

Es wird nichts geraten

Ein unbekanntes Escape ist ein Fehler, kein Zeichen. \q ist kein gültiges JSON, und zu entscheiden, es habe „wohl q gemeint“, gäbe Ihnen einen Text zurück, der sich unmerklich von dem der Quelle unterscheidet — die Art Unterschied, die drei Systeme später auftaucht.

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

Muss ich die umschließenden Anführungszeichen mitgeben?
Nein. Ein Literal in Anführungszeichen und ein nacktes Fragment wie `caf\u00e9` werden beide angenommen, weil man oft nur das Innere einer Zeichenkette hat — aus einer Logzeile kopiert, aus einem Diff, aus einem Stacktrace. Sind die Anführungszeichen da, werden sie genutzt; sonst werden sie ergänzt.
Warum wurde mein JSON-Objekt abgelehnt?
Weil dieses Werkzeug eine Zeichenkette dekodiert, kein Dokument. `{"a":1}` einzufügen ergibt `Expected a JSON string, found a JSON object` statt einer verwirrenden Beschwerde über Escapes. Für ein ganzes Dokument nehmen Sie den JSON-Formatierer oder -Validator.
Da steht „Unescaped quotation mark at position 4“. Was heißt das?
Dass Zeichen 4 des Eingefügten ein `"` ist, das die Zeichenkette zu früh schließt. In einer JSON-Zeichenkette schreibt man ein Anführungszeichen als `\"`. Positionen zählen ab null und beziehen sich auf den Text, den Sie eingegeben haben — Sie gehen direkt zum Zeichen, statt es zu suchen.

Ähnliche Konverter