Erreur jQuery.parseJSON : "JSON invalide" en raison d'un guillemet simple échappé
jQuery.parseJSON rencontre des difficultés à analyser les objets JSON avec des guillemets simples échappés ('). Ce comportement découle du strict respect par la spécification JSON de l'utilisation de guillemets doubles dans les chaînes.
Selon le diagramme de machine d'état JSON, il est nécessaire d'échapper ou d'éviter complètement les guillemets simples. Les guillemets simples ne sont pas des délimiteurs de chaîne valides, ce qui rend inutile leur échappement.
Douglas Crockford, l'architecte de JSON, suggère que cette restriction découle de la conception minimaliste de JSON. Moins de règles améliorent l'interopérabilité en réduisant les risques de problèmes de compatibilité. L'utilisation de guillemets doubles élimine exclusivement la possibilité de terminer accidentellement une chaîne par un guillemet simple.
Malgré cette restriction, certaines implémentations JSON, telles que org.json, autorisent les guillemets simples pour une plus grande permissivité. Ces implémentations interprètent les guillemets simples échappés dans les chaînes de la même manière que les guillemets doubles échappés.
Cependant, jQuery s'appuie sur l'analyseur JSON natif sous-jacent ou sur la bibliothèque JSON pour valider les données JSON. Malheureusement, ces outils sous-jacents sont généralement plus restrictifs et n'acceptent pas les guillemets simples échappés. Par conséquent, jQuery ne peut pas analyser les données JSON contenant des guillemets simples, ce qui entraîne l'erreur « JSON invalide ».
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!