Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSON嵌套对象解析_Javascript_Json_Parsing - Fatal编程技术网

Javascript 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放在回调之外,则会在数

我的网站利用$.getJSON(“filename.json”)从本地文件加载json对象。然而,我一直很难解析这个对象;我经常收到一条“未定义”的控制台日志消息。JSON文件已经过验证,我相信数组语法(如下所列)是正确的访问方法

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放在回调之外,将在数据到达之前对其进行求值。。。。这就是我添加第一条评论的原因:)