JSON Escape/ Escape · Unescape

JSON-Zeichenketten escapen und unescapen — verarbeitet doppelte Anführungszeichen, Zeilenumbrüche, Tabs und alle Steuerzeichen.

Klartext → JSON-Zeichenkette
Klartext
0 Zeichen
Escaped-Zeichenkette
0 Zeichen
JSON-Escape-Sequenzen
\\Backslash
\"Doppeltes Anführungszeichen
\nZeilenumbruch (LF)
\rWagenrücklauf (CR)
\tTabulator
\fSeitenvorschub
\bRücktaste
\uXXXXUnicode-Codepunkt

Hat dieses Tool Ihr Problem gelöst?

Code-Beispiele

JavaScript
const raw = 'Hello "World"\nLine 2';
const escaped = JSON.stringify(raw).slice(1, -1);
// 'Hello \"World\"\\nLine 2'

const unescaped = JSON.parse('"' + escaped + '"');
Python
import json
raw = 'Hello "World"\nLine 2'
escaped = json.dumps(raw)[1:-1]
original = json.loads('"' + escaped + '"')
Go
raw := "Hello \"World\"\nLine 2"
b, _ := json.Marshal(raw)
// string(b) includes outer quotes
Shell (curl)
# Escape for curl:
curl -d '{"msg": "Hello\nWorld"}' ...

# Or use Python:
python3 -c "import json,sys; print(json.dumps(sys.stdin.read()))"

Häufig gestellte Fragen

Warum müssen JSON-Zeichenketten escaped werden?
Die JSON-Spezifikation (RFC 8259) erfordert, dass Sonderzeichen in Zeichenketten mit Backslash escaped werden. Am häufigsten: doppelte Anführungszeichen ("→\"), Zeilenumbrüche (→\n) und Backslashes (\→\\). Nicht-escaped Sonderzeichen führen zu JSON-Parsing-Fehlern.
Welche Zeichen müssen in JSON escaped werden?
Doppelte Anführungszeichen ("→\"), Backslash (\→\\) und Steuerzeichen U+0000–U+001F einschließlich Zeilenumbruch (\n), Wagenrücklauf (\r), Tabulator (\t), Rücktaste (\b) und Seitenvorschub (\f). Andere Unicode-Zeichen müssen nicht escaped werden.
Was ist der Unterschied zwischen JSON.stringify und manuellem Escaping?
JSON.stringify(str) fügt Anführungszeichen hinzu und escaped alles — ideal für einen vollständigen JSON-Wert. Manuelles Escaping verarbeitet nur den Inhalt ohne Anführungszeichen, nützlich zum Einbetten in bestehende JSON-Strukturen.
Was ist das \uXXXX-Format?
\uXXXX ist JSONs Unicode-Escape-Sequenz, wobei XXXX ein 4-stelliger Hex-Codepunkt ist. Z.B. \u0009 ist ein Tabulator, \u4e2d ist das chinesische Zeichen 中. Alle Unicode-Zeichen können so dargestellt werden.
Wie nutze ich das beim API-Debugging?
Häufige Anwendungsfälle: 1) Mehrzeiligen Text escapen bevor er in ein JSON-Feld kommt. 2) JSON-Body für curl-Befehle vorbereiten. 3) SQL-Abfragen in JSON-Request-Bodys einbetten.
Was ist der Unterschied zwischen JSON- und HTML-Escaping?
JSON-Escaping verwendet Backslash (\) für Sonderzeichen auf Zeichenkettenebene. HTML-Escaping verwendet Entitäten (&, <, ") für Markup-Zeichen. Beim Einbetten von JSON in HTML werden beide benötigt: erst JSON, dann HTML.