Javascript JSON嵌套对象解析
我的网站利用$.getJSON(“filename.json”)从本地文件加载json对象。然而,我一直很难解析这个对象;我经常收到一条“未定义”的控制台日志消息。JSON文件已经过验证,我相信数组语法(如下所列)是正确的访问方法Javascript JSON嵌套对象解析,javascript,json,parsing,Javascript,Json,Parsing,我的网站利用$.getJSON(“filename.json”)从本地文件加载json对象。然而,我一直很难解析这个对象;我经常收到一条“未定义”的控制台日志消息。JSON文件已经过验证,我相信数组语法(如下所列)是正确的访问方法 var data = $.getJSON("summer.json"); console.log(data["ResponseJSON"]); 您需要分配该值,并在回调函数中使用该值,如下所示。因为数据是异步返回的 如果将console.log放在回调之外,则会在数
var data = $.getJSON("summer.json");
console.log(data["ResponseJSON"]);
您需要分配该值,并在回调函数中使用该值,如下所示。因为数据是异步返回的 如果将console.log放在回调之外,则会在数据到达之前对其进行评估
$.getJSON('summer.json', function(d) {
data = d;
console.log(data["ResponseJSON"]);
});
是什么让你认为代码会起作用?即使调用是同步的,JavaScript也是区分大小写的,属性名是
responseJSON
,而不是responseJSON
(调用几乎肯定是不同步的)。您还必须使用回调中的数据,或者从从那里调用并传递数据的函数。是否有理由必须在回调函数中(或从中调用的函数中)使用数据?例如,为什么不var data;$。getJSON('summer.json',函数(d){data=d;});日志(数据[“ResponseJSON”])代码>功能是否正确?@MichaelHang,因为数据是异步返回的。如果将console.log放在回调之外,将在数据到达之前对其进行求值。。。。这就是我添加第一条评论的原因:)