Escape-Zeichen für Zeilenumbrüche in JSON-Strings mit JavaScript
JSON-Strings erfordern aus Gründen der Lesbarkeit häufig die Einbeziehung von Zeilenumbrüchen. Allerdings können diese Zeichen Probleme verursachen, wenn sie direkt im JSON-Format übertragen werden. Um dies zu beheben, ist es wichtig, sie vor dem Senden der Zeichenfolge zu maskieren.
Option 1: Verwenden von JSON.stringify() und .replace()
Konvertieren Sie zunächst die JSON-Objekt zu einem String mit JSON.stringify():
var json = JSON.stringify({"value": "This \nis a test"});
Dann maskieren Sie die Newline-Zeichen mit .replace():
var escapedJson = json.replace(/\\n/g, "\\\\n");
Dies ersetzt alle Instanzen von „\n“ durch „\n“, wodurch die neue Zeile erfolgreich maskiert wird Zeichen.
Option 2: Sonderzeichen mithilfe einer wiederverwendbaren Funktion maskieren
Um alle Sonderzeichen, einschließlich Zeilenumbrüche, zu maskieren, können Sie eine wiederverwendbare Funktion erstellen:
String.prototype.escapeSpecialChars = function() {
return this.replace(/\\n/g, "\\\\n")
.replace(/\\'/g, "\\\\'")
.replace(/\\"/g, '\\\\"')
.replace(/\\&/g, "\\\\&")
.replace(/\\r/g, "\\\\r")
.replace(/\\t/g, "\\\\t")
.replace(/\\b/g, "\\\\b")
.replace(/\\f/g, "\\\\f");
};
Diese Funktion kann auf jede Zeichenfolge angewendet werden, die maskiert werden muss:
var json = JSON.stringify({"value": "This \nis a test"});
var escapedJson = json.escapeSpecialChars();
Beide Optionen maskieren effektiv Zeilenumbruchzeichen in JSON-Strings und stellen so die Kompatibilität bei der Übertragung von JSON-Daten sicher.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3