views:

198

answers:

2

I have this JSON (which validates according to JSONLint):

[
{
    "BugCount":"2",
    "BugTitle":"C:\\INETPUB\\WWWROOT\\CLUBREADY2\\TRAINERS\\../Connections/LTC.asp",
    "ErrLine":"141",
    "BugID":"702"
},
{
    "BugCount":"1",
    "BugTitle":"/admin/ajax_logagreementsig.asp",
    "ErrLine":"0",
    "BugID":"1322"
},
]

However, when I run data = json.evalJSON on it I get some problems. If I run .evalJSON(true) (to sanitize) an error happens within prototype saying "json" is undefined. The same happens if I do .evalJSON().

If I do .evalJSON with no parenthesis, then data is just an empty object and no error happens.

Is there something wrong with my JSON?

+1  A: 

That's just a javascript object, you don't have to evaluate anything to get that working.

var data = [
 {
    "BugCount":"2",
    "BugTitle":"C:\\INETPUB\\WWWROOT\\CLUBREADY2\\TRAINERS\\../Connections/LTC.asp",
    "ErrLine":"141",
    "BugID":"702"
 },
 {
    "BugCount":"1",
    "BugTitle":"/admin/ajax_logagreementsig.asp",
    "ErrLine":"0",
    "BugID":"1322"
 }
];

The above will be just fine, and your data var will resolve to an array of two items. Note that I removed the trailing comma in that list, as it would cause a third, null-valued item in IE, but not in most other browsers.

David Hedlund
A: 

I discovered my issue and it was a stupidity thing. I had accidentally left the default HTML on my .aspx page that is returning the JSON, so there was a whole "" built webpage inside the string I was trying to evaluate as JSON.

Pselus