javascript - 加载本地 JSON 文件

我正在尝试加载本地 JSON 文件,但它不起作用。这是我的 JavaScript 代码(使用 jQuery):

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

test.json 文件:

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

什么都没有显示,Firebug 告诉我 data 未定义。在 Firebug 中我可以看到 json.responseText 并且它很好并且有效,但是当我复制该行时很奇怪:

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

在 Firebug 的控制台中,它可以工作,我可以访问数据。

有人有解决办法吗?

最佳答案

$.getJSON是异步的,所以你应该这样做:

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

https://stackoverflow.com/questions/7346563/

相关文章:

python - 从文件中读取 JSON

javascript - 如何将 json POST 数据作为对象传递给 Web API 方法?

java - 仅在序列化期间使用@JsonIgnore,而不是反序列化

java - 如何遍历 JSONObject?

javascript - 检查 JSON 对象中是否存在键

c# - 如何在 JSON.NET 中实现自定义 JsonConverter?

java - Gson:直接将String转换为JsonObject(无POJO)

javascript - 什么是 $$hashKey 添加到我的 JSON.stringify 结果

json - PostgreSQL引入JSONB的解释

angularjs - 如何在 AngularJs 中对字典使用 ng-repeat?