SCRIPT5009: 'JSON' is undefined

I get the following error in IE 9 SCRIPT5009: 'JSON' is undefined only when in compatability mode. the line causing this error is

JSON.stringify(togObj.Answers)

The error does not occur in ie (non-compatability mode), Chrome or Firefox. Any idea what's going on here?

Answers


See here for a blog post explaining the situation: Resolve JSON is Undefined Error in Internet Explorer

Include the JSON library in your page and you should be good to go.


JSON is not available in compatibility mode IE:

Not supported in the following document modes: Quirks, Internet Explorer 6 standards, Internet Explorer 7 standards.

Since you shouldn't be using (or worse, reyling on ) compatibility modes in the first place, you should switch IE to standards-mode by adding a valid doctype.


Yes, JSON is defined natively in modern browsers, but not in IE. You need to import a library. For example, http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js


I have done LOCAL Jquery added .NEt 2.0 code testing, it works fine without any problem. But after migrate the code to IIS v6 server then access from same IE browser, then problem appear "JSON" undefined. After read this recommendation, downlode the file json2.js and add below into source code.

<script  type="text/javascript" src="json2.js"></script>

EVERYTHING WORKING Fine.

Good Thank you.


Just an update (2013!) to the links provided above-

Per http://www.json.org/js.html, a link at the bottom of the page will refer you to the latest implementation:

https://github.com/douglascrockford/JSON-js


You need to include json2.js

see json2 inclusion

for more details. There are cases where we have to deal with cases where clients use IE7 standards. So our code had to cater to such cases too. Ours being a retail website is accessed by hundreds of clients who use IE7 standards. Including json2 solves this issue


If you are using jQuery library at your page, than you could use $.parseJSON.


Need Your Help

Making Entity framework implement an interface

c# entity-framework asp.net-mvc-3 ninject

I want to use IoC with Entity framework and Ninject. I figure I need the Generated Entity classes to implement an interface, ICRUD. There's a walkthrough that shows how to force Entity framework to