我已经尝试过Stack Overflow上的许多解决方案,但它们都没有在我的情况下工作。我在这个ajax调用中只是坚持这个小解析的东西。 我的json看起来像这样:
{
"DailyCohorts":[
{
"transDate":"2017-10-01",
"newUsers":"9",
"CustomerAddedDate":"2017-10-01",
"UserCount":"5"
},
//...
]
}
这是我的for循环,我试图取出值
function dailyCohort(){
$.ajax({
type: "GET",
url: "http://com/sp/cohort.php",
success: function(data){
console.log("json",data);
console.log("data length",data.length);
for(i=0; i< data.DailyCohorts.length; i++)
{
console.log(data.DailyCohorts[i].transDate);
}
},
beforeSend: function() {
$("#w-cohort-loader").show()
},
complete: function() {
$("#w-cohort-loader").hide();
},
error: function(data)
{
console.log(data);
}
});
}
请提前帮助我,
答案 0 :(得分:2)
您应该访问JSON对象的DailyCohorts
属性。 DailyCohorts
是您应该循环并获取每个项目的数组。
success: function(data){
for(i=0; i< data.DailyCohorts.length; i++)
{
console.log(data.DailyCohorts[i].transDate);
}
}
或者如果您使用$.each
循环遍历DailyCohorts
数组
$.each(data.DailyCohorts,function(index,item){
console.log(item.transDate);
});
在尝试访问它之前,最好先检查这个属性是否存在。
if(data.DailyCohorts)
{
for(i=0; i< data.DailyCohorts.length; i++)
{
console.log(data.DailyCohorts[i].transDate);
}
}
Here是一个有效的小提琴,供您参考。