Maison  >  Article  >  interface Web  >  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
Mary-Kate Olsenoriginal
2024-11-02 19:30:30863parcourir

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>

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

<code class="javascript">var escapedJson = json.replace(/\n/g, "\\n");</code>

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>

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>

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!

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