Maison  >  Article  >  interface Web  >  Comment puis-je échapper aux caractères de nouvelle ligne dans les chaînes JSON avec JavaScript ?

Comment puis-je échapper aux caractères de nouvelle ligne dans les chaînes JSON avec JavaScript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-02 13:03:02464parcourir

How Do I Escape Newline Characters in JSON Strings with JavaScript?

É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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn