JSON object in IE6 - How?

internet-explorer, javascript, json

Solution

The json2 library at https://github.com/douglascrockford/JSON-js is exactly what you're looking for. You can include it unconditionally, and it adds JSON.parse and JSON.stringify to your global namespace (only if there isn't one defined yet). It won't mess with any built-in JSON. From its source:

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

That's comprehensive! Even if for some reason you already have JSON.stringify but not JSON.parse (or vice versa) it'll still do the right thing, leaving the original ones in place.

Problem

Quick questions that probably a piece of cake for someone in the know to asnwer. I have a simple asp.net website that uses JSON for a bunch of stuff (and JSON.stringify) All good in firefox etc, yet, in IE6 I run into an error with JSON being undefined. Is there a way I can include a JSON implementation without breaking what I have already (using the native JSON objects in the other browsers). If so, how? Thanks!

Original source