Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JSON object in IE6 - How?

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!

like image 319
Sergio Avatar asked Nov 24 '09 00:11

Sergio


3 Answers

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.

like image 152
jpsimons Avatar answered Nov 04 '22 06:11

jpsimons


Your version of firefox might be having built-in support for the JSON library. But ideally you should include the JSON js library from json.org (make a copy of it in your hosted domain).

like image 22
Joy Dutta Avatar answered Nov 04 '22 08:11

Joy Dutta


I also met this issue, you can load json2.js before using JSON. refer to this link.

like image 2
jane Avatar answered Nov 04 '22 06:11

jane