Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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
无法将JSON文件获取到javascript的数组_Javascript_Arrays_Json_File_Parsing - Fatal编程技术网

无法将JSON文件获取到javascript的数组

无法将JSON文件获取到javascript的数组,javascript,arrays,json,file,parsing,Javascript,Arrays,Json,File,Parsing,我已经尝试了其他线程的解决方案,但我仍然不知道问题出在哪里。如下所示,如果您在html中键入json数据。它可以正常运行。号码将变为红色。但是如果我把数据放到一个JSON文件中。代码无法将JSON文件获取到数组中。即使我将JSON文件放在同一个文件夹中,它也可能失败。谢谢你阅读我的帖子 {//holiday.json “hd”:[{ “id”:“y2015m12d25”, “描述”:“圣诞节” }, { “id”:“y2015m12d26”, “描述”:“圣诞节” }, { “id”:“Y20

我已经尝试了其他线程的解决方案,但我仍然不知道问题出在哪里。如下所示,如果您在html中键入json数据。它可以正常运行。号码将变为红色。但是如果我把数据放到一个JSON文件中。代码无法将JSON文件获取到数组中。即使我将JSON文件放在同一个文件夹中,它也可能失败。谢谢你阅读我的帖子

{//holiday.json
“hd”:[{
“id”:“y2015m12d25”,
“描述”:“圣诞节”
}, {
“id”:“y2015m12d26”,
“描述”:“圣诞节”
}, {
“id”:“Y2016 M1D1”,
“描述”:“新年”
}
]
}

22
23
24
25
26
27
28
29
30
$(文档).ready(函数(){
var myJSONObject;
$.getJSON('http://khchan.byethost18.com/holiday.json')
.完成(功能(数据){
//var myJSONObject=JSON.parse(数据);
myJSONObject=数据;
});
/*var myJSONObject={“hd”:[
{“id”:“y2015m12d25”,“desc”:“Xmas”},
{“id”:“y2015m12d26”,“desc”:“Xmas”},
{“id”:“Y2016 M1D1”,“desc”:“新年”}
]
}; */
$.each(myJSONObject.hd,函数(i,索引){
$(“#”+myJSONObject.hd[i].id).css(“颜色”、“红色”);
});
});

$。getJSON
是一个接受回调的异步函数,因此这意味着您尝试获取的数据在此行之后将不可用,但是,它保证如果成功,数据将在回调中可用。 所以这应该行得通

$.getJSON('http://khchan.byethost18.com/holiday.json')
  .done(function(data) {
    myJSONObject = data;
    $.each(myJSONObject.hd, function(i, index) {
      $("#" + myJSONObject.hd[i].id).css("color", "red");
    });
});

最简单的方法:将
$。每个
方法移到
.done
方法中,这是一个异步方法,您不能在它之外使用响应。谢谢。你的解决方案解决了我的问题。不客气。您也可以将其标记为接受答案。:)