Objet JSON dans IE6 – Comment?

Des questions rapides qui, probablement, un morceau de gâteau pour quelqu'un dans le savoir à l'étranger.

J'ai un simple site Web asp.net qui utilise JSON pour un tas de choses (et JSON.stringify)

Tout bon dans firefox, mais, dans IE6, je me suis retrouvé dans une erreur avec JSON étant indéfini.

Existe-t-il une façon d'inclure une implémentation JSON sans casser ce que j'ai déjà (en utilisant les objets JSON natifs dans les autres navigateurs). Si c'est le cas, comment?

Merci!

La bibliothèque json2 à https://github.com/douglascrockford/JSON-js est exactement ce que vous recherchez. Vous pouvez l'inclure inconditionnellement, et cela ajoute JSON.parse et JSON.stringify à votre espace de noms global (uniquement s'il n'y en a pas encore défini). Il ne dérangera pas avec JSON intégré. De sa source:

 if (!this.JSON) { this.JSON = {}; } ... if (typeof JSON.stringify !== 'function') { ... if (typeof JSON.parse !== 'function') { 

C'est complet! Même si, pour une raison quelconque, vous avez déjà JSON.stringify mais pas JSON.parse (ou vice versa), il va toujours faire le bon choix, en laissant les originaux en place.

Votre version de Firefox peut avoir une prise en charge intégrée pour la bibliothèque JSON. Mais idéalement, vous devez inclure la bibliothèque JSON js de json.org (en faire une copie dans votre domaine hébergé).

J'ai également rencontré ce problème, vous pouvez charger json2.js avant d'utiliser JSON. Se référer à ce lien .

Utilisez les JSON-js disponibles sur Github par Douglas Crockford, il rend l'objet JSOn disponible dans les navigateurs qui ne prennent en charge l'objet JSOn de manière native, ne comprennent qu'un seul fichier js dans votre page qui utilise l'objet JSOn. https://github.com/douglascrockford/JSON-js

Consultez également ce lien http://json.org/js.html

Il suffit de vérifier si JSON.stringify et s'il n'existe pas, utilisez une autre méthode pour analyser les données dans une chaîne JSON.