Maison > Article > interface Web > Comment échapper aux caractères de nouvelle ligne dans les chaînes JSON avec 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(/\&/g, "\\&") .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!