Maison > interface Web > js tutoriel > Comment analyser une chaîne JSON avec des guillemets simples au lieu de guillemets doubles ?

Comment analyser une chaîne JSON avec des guillemets simples au lieu de guillemets doubles ?

Susan Sarandon
Libérer: 2024-12-01 00:55:12
original
170 Les gens l'ont consulté

How to Parse a JSON String with Single Quotes Instead of Double Quotes?

Analyser une chaîne au format JSON avec des guillemets simples ?

Lorsque vous essayez d'analyser une chaîne au format JSON, vous pouvez rencontrer des problèmes si la chaîne contient un seul guillemets au lieu des guillemets doubles requis.

Problème Déclaration :

Considérez l'exemple de chaîne str = {'a':1}, où des guillemets simples sont utilisés autour de la clé de l'objet. L'analyse de cette chaîne à l'aide de JSON.parse(str) entraînera l'exception Uncaught SyntaxError: Unexpected token '…'.

Solution :

La norme JSON dicte que les chaînes doit être placé entre guillemets doubles. L'analyse d'une chaîne avec des guillemets simples ne réussira pas. Pour résoudre ce problème, il existe deux approches possibles :

  • Remplacer les guillemets simples par des guillemets doubles : Si la structure du JSON est bien définie et ne contient pas de guillemets simples échappés dans les chaînes (ce qui n'est généralement pas valide pour JSON), vous pouvez utiliser la méthode replace pour remplacer tous les guillemets simples par des doubles quotes :
JSON.parse(str.replace(/'/g, '"'));
Copier après la connexion
  • Analyser manuellement : Si le JSON est complexe et peut contenir des guillemets simples échappés dans les chaînes, une analyse manuelle est recommandée. Vous pouvez parcourir la chaîne, identifier les différents jetons (par exemple, clés, valeurs, virgules, accolades) et construire l'objet JSON de manière incrémentielle.

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