Zum Hauptinhalt springen

Gut geformtes `JSON.stringify`

· Eine Minute Lesezeit
Mathias Bynens ([@mathias](https://twitter.com/mathias))

JSON.stringify wurde zuvor so spezifiziert, dass es schlecht geformte Unicode-Zeichenketten zurückgibt, wenn die Eingabe einsame Surrogate enthält:

JSON.stringify('\uD800');
// → '"�"'

Der Vorschlag „Gut geformtes JSON.stringify ändert JSON.stringify so, dass es Escape-Sequenzen für einsame Surrogate ausgibt, wodurch seine Ausgabe gültiges Unicode wird (und in UTF-8 darstellbar ist):

JSON.stringify('\uD800');
// → '"\\ud800"'

Beachten Sie, dass JSON.parse(stringified) immer noch die gleichen Ergebnisse wie zuvor liefert.

Diese Funktion ist eine kleine, längst überfällige Korrektur in JavaScript. Sie ist eine Sorge weniger für JavaScript-Entwickler. In Kombination mit JSON ⊂ ECMAScript ermöglicht sie das sichere Einbetten von JSON-serialisierten Daten als Literale in JavaScript-Programme, sowie das Schreiben des generierten Codes auf die Festplatte in einer beliebigen Unicode-kompatiblen Codierung (z. B. UTF-8). Dies ist äußerst nützlich für Metaprogrammierungsanwendungen.

Unterstützung der Funktion