Heim > Artikel > Web-Frontend > Wie maskiere ich Zeilenumbrüche in JSON-Strings mit JavaScript?
JSON-Zeichenfolgen mit Zeilenumbrüchen in JavaScript maskieren
In Szenarien, in denen Ihr JSON-Wert Zeilenumbrüche enthält, ist es wichtig, diese für korrektes JSON zu maskieren Zeichenfolgenbildung.
Escapezeichen für Zeilenumbrüche
Um dies zu erreichen, verwenden Sie die Methode JSON.stringify() für Ihr JSON-Objekt. Verwenden Sie anschließend die Methode replace(), um alle Vorkommen von n (dem Zeilenumbruchzeichen) durch \n zu ersetzen.
Beispiel:
const jsonString = JSON.stringify({ value: 'This contains a newline\n' }); const escapedString = jsonString.replace(/\n/g, '\n');
Escapezeichen Andere Sonderzeichen
Neben Zeilenumbruchzeichen müssen Sie möglicherweise auch andere Sonderzeichen in JSON-Strings maskieren. Es gibt jedoch keine beliebten JS-Bibliotheken, die speziell für das Escapen all dieser Zeichen entwickelt wurden.
Benutzerdefinierte Escape-Funktion
Um dieses Problem zu beheben, können Sie eine benutzerdefinierte Escape-Funktion namens escapeSpecialChars erstellen () und hängen Sie es an den Prototyp des String-Objekts an:
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"); };
Vereinfachter Code mit benutzerdefinierter Funktion
Wenn die benutzerdefinierte Funktion vorhanden ist, wird Ihr Code zu:
const jsonString = JSON.stringify({ value: 'This contains a newline\n' }); const escapedString = jsonString.escapeSpecialChars();
Diese Technik dient dazu, sowohl Zeilenumbrüche als auch andere potenzielle Sonderzeichen in Ihren JSON-Strings zu maskieren.
Das obige ist der detaillierte Inhalt vonWie maskiere ich Zeilenumbrüche in JSON-Strings mit JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!