Patrick Browne Patrick Browne - 3 months ago 21
Javascript Question

Loading local JSON file

I'm trying to load a local JSON file but it won't work. Here is my JavaScript code (using jQuery:

var json = $.getJSON("test.json");
var data = eval("(" +json.responseText + ")");
document.write(data["a"]);


The test.json file:

{"a" : "b", "c" : "d"}


Nothing is displayed and Firebug tells me that data is undefined. In Firebug I can see
json.responseText
and it is good and valid, but it's strange when I copy the line:

var data = eval("(" +json.responseText + ")");


in Firebug's console, it works and I can access data.

Anyone have a solution?

Answer

$.getJSON is asynchronous so you should do:

$.getJSON("test.json", function(json) {
    console.log(json); // this will show the info it in firebug console
});
Comments