Possible Duplicate:
Browser-native JSON support (window.JSON)
Specifically, is JSON.parse(...)
supported by IE7+, Firefox 2+, Chrome, Safari?
See: JSON in JavaScript
All modern browsers support native JSON encoding/decoding (Internet Explorer 8+, Firefox 3.1+, Safari 4+, and Chrome 3+). Basically, JSON. parse(str) will parse the JSON string in str and return an object, and JSON. stringify(obj) will return the JSON representation of the object obj .
JSON parsing is the process of converting a JSON object in text format to a Javascript object that can be used inside a program. In Javascript, the standard way to do this is by using the method JSON. parse() , as the Javascript standard specifies.
The built-in functions (JSON. parse()) are not vulnerable so you can use them safely.
How Does JSON Parse Work? The JSON parse function takes data that's in a text format and then converts it into JavaScript. Usually, these take the form of JavaScript objects, but the parse function can be used directly on arrays as well.
Is JSON.parse supported by all major browsers?
Pretty much, yes (source). Even IE8 has it (provided you're not in IE7 emulation mode). If you need to support IE7 and earlier, read on.
No, older browsers (IE7 for instance) mostly don't have it. (More: http://caniuse.com/#search=JSON.parse)
However, just a small script is all you need. The inventor of JSON, Douglas Crockford, has no fewer than three for you to choose from on his Github page:
json2.js
: Provides both JSON.parse
and JSON.stringify
. Parsing uses a few regexes to defend against script injection attacks and then passes the result to eval
. This isn't generally considered a very good idea.json_parse.js
: A recursive-descent parser that doesn't use eval
.json_parse_state.js
: A state-machine parser that doesn't use eval
.Use what suits you. :-)
Just about any major library (like jQuery, Prototype, YUI, Closure, or any of several others) will also provide JSON parsing, although in some cases it may well be a thin veneer on eval
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With