JSON (JavaScript Object Notation)

JavaScript Object Notation (JSON) est un format d’échange de données simple et léger basé sur un sous-ensemble de la notation de littéral d’objet du langage JavaScript. le moteur JavaScript dans Windows Internet Explorer 8 implémente la proposition json 3,1 json pour les fonctions de gestion json natives (qui utilisent l’API json2.js de Douglas Crockford).

Internet Explorer 8 comprend un objet JSON natif qui est conforme à la prise en charge de JSON décrite dans le brouillon de travailde la proposition de la version 3.1. Certaines pages Web détectent l’objet JSON natif, puis l’utilisent de manière non standard. Cette utilisation provoque généralement une erreur de script et interrompt la gestion des demandes AJAX. L’exemple de code suivant montre une façon incorrecte d’utiliser l’objet JSON.

    if(!window.JSON) JSON = myJSON; 
    JSON.encode(obj); // Not part of the standard

Au lieu de cela, l’exemple de code suivant montre une bonne façon d’utiliser l’objet JSON.

    JSON = myJSON; 
    JSON.encode(obj);

Windows Internet Explorer inclut des prises en charge natives pour JSON en introduisant un objet JSON global qui a deux méthodes intégrées : stringify et Parse. L’objet JSON global est défini dans le moteur JavaScript et est créé au cours de la phase d’initialisation du moteur. Pour assurer la compatibilité descendante, cette fonctionnalité est disponible uniquement quand un site Web utilise la dernière version des fonctionnalités JavaScript en utilisant le mode de disposition (document) « normes Internet Explorer 8 ». Cette fonctionnalité peut également affecter le comportement des pages Web qui dépendent d’une variable globale JSON ou utilisent json2.js.

Vous pouvez remplacer l’objet JSON global. Mais lorsqu’une page Web utilise le mode de disposition (document) « normes Internet Explorer 8 », il ne s’agit plus d’un objet non défini. Étant donné que JSON est instancié comme un nom global par le moteur JavaScript, vérifie comme suit : «si ( ! this. JSON)» a la valeur false et doit être modifié dans le code utilisateur.

Les pages Web qui utilisent json2.js ne sont probablement pas affectées. À quelques exceptions près, ces pages devraient fonctionner plus rapidement. Les exceptions sont dues aux différences entre l’implémentation du format JSON natif d’Internet Explorer et json2.js. Par exemple, lors de la sérialisation, l’implémentation JSON Native détecte les cycles et ne passe pas par une récurrence infinie comme json.js. Pour plus d’informations sur ces exceptions, consultez les blogs JavaScript.

Pour plus d’informations, consultez documentation JSON et contrôle de version et prise en charge des versions du moteur JavaScript.

Résolution des problèmes de compatibilité dans les applications Web à l’aide de l’affichage de compatibilité