Was JSON-Escaping bedeutet
JSON-Escaping transformiert einen rohen String (oder ein serialisiertes JSON-Dokument), so dass er sicher innerhalb eines anderen JSON-Stringwerts eingebettet werden kann. In JSON müssen bestimmte Zeichen mit einem Backslash gescaped werden: doppelte Anführungszeichen (\""), Backslashes (\\\\), und Steuerzeichen wie Zeilenumbrüche (\n), Wagenrücklauf (\r), Tabulatoren (\t) und andere.
Der klassische Anwendungsfall ist das Einbetten eines JSON-Dokuments als String-Wert in einem anderen JSON-Dokument — ein Muster, das in API-Payloads üblich ist, die rohe Konfigurations-Blobs, Webhook-Bodies oder serialisierte Antworten transportieren.
Unescaping ist das Gegenteil: Einen gescapeten JSON-String (mit Backslash-Sequenzen) nehmen und ihn in seine ursprüngliche, lesbare Form zurückversetzen. Das ist nützlich, wenn Sie eine API-Antwort erhalten, bei der ein Feld eine als String kodierte JSON-Nutzlast enthält.
Verarbeitete Escape-Sequenzen
Das Tool verarbeitet alle Zeichen, die die JSON-Spezifikation innerhalb von Stringwerten zu escapen verlangt: doppeltes Anführungszeichen (→ \\"), Backslash (→ \\\\\\\\), und die Steuerzeichen — Rückschritt (\\b), Seitenvorschub (\\f), Zeilenumbruch (\\n), Wagenrücklauf (\\r), horizontaler Tabulator (\\t), und jedes andere Steuerzeichen mit einem Codepunkt unter U+0020.
Unicode-Zeichen jenseits der Basic Multilingual Plane (Codepunkte über U+FFFF) werden in JSON als Surrogatpaare dargestellt. Das Tool verarbeitet diese Surrogatpaare korrekt sowohl beim Escapen von Emoji als auch beim Unescapen.
Der Schrägstrich (/) ist in JSON technisch optional zu escapen. Einige Serialisierer escapen ihn (insbesondere PHP's json_encode standardmäßig), andere nicht. Unser Tool escapet ihn standardmäßig für maximale Kompatibilität.
Häufige Anwendungsfälle
JSON in HTML einbetten: Wenn Sie eine JSON-Variable in einer HTML-Seite ausgeben, müssen Sie das JSON escapen, damit die Zeichen </script>, einfache Anführungszeichen und spitze Klammern den HTML-Parser nicht stören. Das Escapen von JSON vor dem Einbetten in HTML ist ein sicherheitsrelevanter Schritt — ungescapetes JSON in HTML kann zu XSS-Schwachstellen führen.
Umgebungsvariablen: Ein JSON-Konfigurationsobjekt in einer Umgebungsvariable zu speichern erfordert oft, dass das JSON ein einzeiliger gescapeter String ist, da die meisten Env-Var-Parser keine mehrzeiligen Werte unterstützen.
Datenbank-String-Spalten: JSON in einer einfachen TEXT- oder VARCHAR-Spalte zu speichern erfordert manchmal Escaping, um zu verhindern, dass die doppelten Anführungszeichen des JSON mit dem SQL-String-Trennzeichen in Konflikt geraten.