Partager via


JavaScript Object Notation (JSON)

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

Internet Explorer 8 inclut un objet JSON natif conforme à la prise en charge JSON décrite dans la projet de proposition ES3.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 requêtes AJAX. L’exemple de code suivant montre le mauvais moyen 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 un bon moyen d’utiliser l’objet JSON.

    JSON = myJSON; 
    JSON.encode(obj);

Windows Internet Explorer inclut des supports natifs pour JSON en introduisant un objet JSON global qui a deux méthodes intégrées : stringify et analyser. L’objet JSON global est défini dans le moteur JavaScript et est créé pendant la phase d’initialisation du moteur. Pour maintenir la compatibilité descendante, cette fonctionnalité est disponible uniquement lorsqu’un site web utilise la dernière version des fonctionnalités JavaScript à l’aide du mode « Normes Internet Explorer 8 » (document). Cette fonctionnalité peut également affecter le comportement des pages web qui dépendent d’une variable globale JSON ou d’utiliser json2.js.

Vous pouvez remplacer l’objet JSON global. Toutefois, lorsqu’une page web utilise le mode de mise en page « Internet Explorer 8 Standards » (document), il n’est plus un objet non défini. Étant donné que JSON est instancié en tant que nom global par le moteur JavaScript, vérifie « if( !this). JSON)" évalue la valeur False et doit être modifié dans le code utilisateur.

Les pages web qui utilisent json2.js ne sont probablement pas affectées. Avec quelques exceptions, ces pages doivent fonctionner plus rapidement. Les exceptions sont dues aux différences entre l’implémentation JSON native 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 en récursivité infinie comme json.js. Pour plus d’informations sur ces exceptions, consultez les blogs JavaScript.

Pour plus d’informations, consultez documentation JSON et gestion des versions et la prise en charge des versions du moteur JavaScript.

résoudre les problèmes de compatibilité dans les applications web à l’aide de la vue de compatibilité