Maison >interface Web >js tutoriel >Comment gérer correctement les nouvelles lignes dans JSON pour éviter les erreurs d'analyse ?

Comment gérer correctement les nouvelles lignes dans JSON pour éviter les erreurs d'analyse ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-05 03:20:09470parcourir

How to Properly Handle Newlines in JSON to Avoid Parsing Errors?

Gestion des nouvelles lignes en JSON : évitez les problèmes d'évaluation

Lorsque vous travaillez avec des données JSON en JavaScript, il devient essentiel de gérer efficacement les nouvelles lignes pour éviter l'analyse erreurs. Prenons l'exemple suivant où une tentative de conversion de données JSON contenant des nouvelles lignes en un objet échoue en utilisant à la fois eval et JSON.parse :

var data = '{"count" : 1, "stack" : "sometext\n\n"}';
var dataObj = eval('('+data+')');  // This approach is discouraged

Le problème provient de la présence de nouvelles lignes (n) dans la chaîne, qui sont interprétés à tort comme des sauts de ligne dans les données JSON, ce qui entraîne la fin prématurée du processus d'évaluation et génère des erreurs de type « littéral de chaîne non terminé ».

Pour Pour remédier à ce problème et réussir à convertir les données JSON en objet, il est crucial d'échapper aux caractères de nouvelle ligne en les doublant. Cela garantit que les nouvelles lignes sont conservées dans le cadre des données JSON et ne sont pas interprétées comme des sauts de ligne. Le code corrigé ressemblerait à ceci :

var data = '{"count" : 1, "stack" : "sometext\n\n"}';
var dataObj = JSON.parse(data);

Échapper les caractères de nouvelle ligne permet à l'analyseur JSON d'interpréter correctement les données et de créer l'objet souhaité sans rencontrer d'erreurs d'analyse.

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