Échapper des chaînes JSON avec des caractères de nouvelle ligne en JavaScript
Dans les scénarios où votre valeur JSON contient des caractères de nouvelle ligne, il est essentiel de les échapper pour un JSON correct formation de chaînes.
Échappement des caractères de nouvelle ligne
Pour y parvenir, utilisez la méthode JSON.stringify() sur votre objet JSON. Ensuite, utilisez la méthode replace() pour remplacer toutes les instances de n (le caractère de nouvelle ligne) par \n.
Exemple :
const jsonString = JSON.stringify({ value: 'This contains a newline\n' }); const escapedString = jsonString.replace(/\n/g, '\n');
Echaping Autres caractères spéciaux
Outre les caractères de nouvelle ligne, vous pouvez également rencontrer le besoin d'échapper d'autres caractères spéciaux dans les chaînes JSON. Cependant, il n'existe pas de bibliothèques JS populaires spécialement conçues pour échapper tous ces caractères.
Fonction d'échappement personnalisée
Pour résoudre ce problème, vous pouvez créer une fonction d'échappement personnalisée appelée escapeSpecialChars. () et attachez-le au prototype de l'objet String :
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"); };
Code simplifié avec fonction personnalisée
Avec la fonction personnalisée en place, votre code devient :
const jsonString = JSON.stringify({ value: 'This contains a newline\n' }); const escapedString = jsonString.escapeSpecialChars();
Cette technique permet d'échapper à la fois les caractères de nouvelle ligne et d'autres caractères spéciaux potentiels dans vos chaînes JSON.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!