Javascript 不带数组的JSON和HTML
我有我的JSON文件,它只是一个对象,而不是任何数组Javascript 不带数组的JSON和HTML,javascript,html,json,Javascript,Html,Json,我有我的JSON文件,它只是一个对象,而不是任何数组 {"name":"Autogen Program","start":"2014-05-04","end":"2014-10-12","status":"Completed"} 我试图将JSON中的值分配到HTML中,但我无法这样做 $(function() { $.getJSON('http://localhost:8080/GChartServlet/data1.json', function(statusDataSet) {
{"name":"Autogen Program","start":"2014-05-04","end":"2014-10-12","status":"Completed"}
我试图将JSON中的值分配到HTML中,但我无法这样做
$(function() {
$.getJSON('http://localhost:8080/GChartServlet/data1.json', function(statusDataSet) {
$.each(statusDataSet, function(i) {
var color;
switch(i.status) {
case "In Progress":
color = "yellow";
break;
case "Pending" :
color = "red";
break;
case "Completed" :
color = "green";
break;
}
if(i.name=="Autogen Program") {
$("#stat1").append(i.status).css('background-color', color);
}
});
});
HTML代码:——
你能帮我做同样的事情,或者告诉我哪里出了问题吗
关于,如果您想坚持使用
$。每个都需要确保返回的结果是一个数组:
statusDataSet = (statusDataSet instanceof Array) ? statusDataSet : [statusDataSet];
和$。每个(函数(i))
应该是$。每个(函数(i,项))
,因为您的i
是索引而不是项(对象)
希望有帮助
如果JSON不是数组,则不需要$。每个循环。别提了:
$(function() {
$.getJSON('http://localhost:8080/GChartServlet/data1.json', function(statusDataSet) {
var color;
switch(statusDataSet.status) {
case "In Progress":
color = "yellow";
break;
case "Pending" :
color = "red";
break;
case "Completed" :
color = "green";
break;
}
if(statusDataSet.name=="Autogen Program") {
$("#stat1").append(statusDataSet.status).css('background-color', color);
}
}
});
希望问题是$。each(statusDataSet,function(index,i)而不是$。each(statusDataSet,function(i)我没有我的JSON作为数组。我也尝试使用for循环而不是each,但这也没有帮助。请在getJSON
和each
之间使用上面的代码行,如下所示:$(function(){$.getJSON(“”,function(statusDataSet){for(var i=0;i$(function() {
$.getJSON('http://localhost:8080/GChartServlet/data1.json', function(statusDataSet) {
var color;
switch(statusDataSet.status) {
case "In Progress":
color = "yellow";
break;
case "Pending" :
color = "red";
break;
case "Completed" :
color = "green";
break;
}
if(statusDataSet.name=="Autogen Program") {
$("#stat1").append(statusDataSet.status).css('background-color', color);
}
}
});