Maison > Article > interface Web > Voici plusieurs titres de questions et réponses en anglais générés en fonction du contenu de l'article que vous avez fourni : 1. Pourquoi jQuery.parseJSON() renvoie-t-il une erreur « JSON invalide » lorsqu'il y a des guillemets simples échappés dans le JSON ? 2. Est-il autorisé d'échapper aux guillemets simples dans un JSO
jQuery.parseJSON() ne peut pas analyser le JSON contenant des guillemets simples échappés Chaîne JSON valide. C'est normal car la spécification JSON autorise uniquement l'échappement des guillemets doubles.
Comme indiqué ci-dessous, le diagramme de la machine d'état JSON indique que seuls les guillemets doubles peuvent être échappés, les guillemets simples ne sont pas autorisés.
[Image : JSON State Machine]
Bien que la spécification n'autorise pas l'échappement des guillemets simples, certaines implémentations JSON peuvent les accepter. Par exemple, org.json pour Java autorise les guillemets simples, tandis que json2.js utilisé par jQuery suit la spécification et ne les autorise pas.
jQuery.parseJSON tente d'abord d'utiliser l'analyseur JSON natif du navigateur ou json2.js, il est donc aussi permissif que l'implémentation sous-jacente. Puisque json2.js suit la spécification, jQuery n'autorise pas non plus les guillemets simples.
parseJSON: function( data ) { ... // Attempt to parse using the native JSON parser first if ( window.JSON && window.JSON.parse ) { return window.JSON.parse( data ); } ... jQuery.error( "Invalid JSON: " + data ); },
Pour éviter les erreurs lors de l'analyse de JSON à l'aide de jQuery.parse, évitez d'utiliser des guillemets simples dans les chaînes JSON ou passez à une bibliothèque JSON qui accepte les implémentations de guillemets simples.
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!