"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment gérer correctement les nouvelles lignes dans les données JSON ?

Comment gérer correctement les nouvelles lignes dans les données JSON ?

Publié le 2024-12-21
Parcourir:976

How to Properly Handle Newlines in JSON Data?

Gestion des nouvelles lignes en JSON

Lorsque vous travaillez avec des données JSON, il est essentiel de gérer correctement les nouvelles lignes pour éviter les erreurs inattendues. Voici une explication détaillée du problème et de sa solution.

Le problème

Lorsque vous utilisez eval ou JSON.parse pour analyser des données JSON contenant des nouvelles lignes, vous pouvez rencontrer des erreurs telles que comme « chaîne littérale non terminée ». En effet, les nouvelles lignes (\n et \r) ne sont pas reconnues dans les chaînes entre guillemets doubles dans JSON.

La solution

Pour gérer les nouvelles lignes dans JSON, vous avez besoin pour y échapper en utilisant une double barre oblique inverse (\\) avant le caractère de nouvelle ligne. Par exemple:

{
  "count": 1,
  "stack": "sometext\\n\\n"
}

En échappant les nouvelles lignes, vous les conservez dans les données JSON et empêchez l'analyseur de les interpréter comme faisant partie de la chaîne.

Exemple

Voici une version mise à jour de votre code utilisant des sauts de ligne échappés :

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

Ce code analysera désormais avec succès les données JSON sans rencontrer d'erreurs liées aux nouvelles lignes.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3