3 Stimmen

Javascript Objektserialisierung mit toSource() wandelt spezielle Zeichen in Hex-Code um - wie kann man das umkehren?

Wenn ich ein einfaches JavaScript-Objekt in eine Zeichenkette konvertiere, werden alle Sonderzeichen in Hex-Code umgewandelt.

function O() {
    this.name = "<üäö!";
}
var myObject = new O();
console.log(myObject.toSource());

Ergebnis:

{name:"<\xFC\xE4\xF6!"}

Wie kann ich dies vermeiden oder alle Hex-Zeichen wieder in Utf8-Zeichen umwandeln?

1voto

Marcel Korpel Punkte 21267

Wenn Sie Crockford's json2.js vermeiden Sie dieses Problem vollständig.

console.log(JSON.stringify(myObject));

Ausgänge

{"name":"<üäö!"}

Sie können diese Zeichenfolge dann z. B. mit einer XMLHttpRequest (vergessen Sie in diesem Fall nicht, die Option encodeURIComponent ).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X