Maison > interface Web > js tutoriel > 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
Libérer: 2024-11-02 13:03:02
original
587 Les gens l'ont consulté

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');
Copier après la connexion

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");
};
Copier après la connexion

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();
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal