JSON object in IE6 - How?

2019-03-09 18:55发布

问题:

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!

回答1:

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.



回答2:

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).



回答3:

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



回答4:

Use the JSON-js made avaliable on Github by Douglas Crockford it makes the JSOn object avaliable in browsers which dont support the JSOn object natively just include a single js file in ur page which uses JSOn object. https://github.com/douglascrockford/JSON-js

Also Check out this link http://json.org/js.html



回答5:

Simply check for JSON.stringify and if it doesn't exist, use some other method to parse data into a JSON string.