Maison > interface Web > js tutoriel > Comment échapper aux caractères de nouvelle ligne dans les chaînes JSON avec JavaScript ?

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

Mary-Kate Olsen
Libérer: 2024-11-02 19:30:30
original
972 Les gens l'ont consulté

How to Escape Newline Characters in JSON Strings with JavaScript?

Échappement des caractères de nouvelle ligne dans les chaînes JSON avec JavaScript

Les chaînes JSON nécessitent souvent l'inclusion de caractères de nouvelle ligne pour plus de lisibilité. Cependant, ces caractères peuvent poser des problèmes lorsqu'ils sont directement transmis au format JSON. Pour résoudre ce problème, il est essentiel de les échapper avant d'envoyer la chaîne.

Option 1 : Utiliser JSON.stringify() et .replace()

Tout d'abord, convertissez le Objet JSON vers une chaîne à l'aide de JSON.stringify() :

<code class="javascript">var json = JSON.stringify({"value": "This \nis a test"});</code>
Copier après la connexion

Ensuite, échappez les caractères de nouvelle ligne à l'aide de .replace() :

<code class="javascript">var escapedJson = json.replace(/\n/g, "\\n");</code>
Copier après la connexion

Cela remplace toutes les instances de "n" avec « n », en réussissant à échapper aux caractères de nouvelle ligne.

Option 2 : Échapper aux caractères spéciaux à l'aide d'une fonction réutilisable

Pour échapper à tous les caractères spéciaux, y compris les caractères de nouvelle ligne, vous peut créer une fonction réutilisable :

<code class="javascript">String.prototype.escapeSpecialChars = function() {
  return this.replace(/\n/g, "\\n")
             .replace(/\'/g, "\\'")
             .replace(/\"/g, '\\"')
             .replace(/\&amp;/g, "\\&amp;")
             .replace(/\r/g, "\\r")
             .replace(/\t/g, "\\t")
             .replace(/\b/g, "\\b")
             .replace(/\f/g, "\\f");
};</code>
Copier après la connexion

Cette fonction peut être appliquée à n'importe quelle chaîne qui doit être échappée :

<code class="javascript">var json = JSON.stringify({"value": "This \nis a test"});
var escapedJson = json.escapeSpecialChars();</code>
Copier après la connexion

Les deux options échappent efficacement aux caractères de nouvelle ligne dans les chaînes JSON, garantissant ainsi la compatibilité lors de la transmission Données 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