下面是我从 Ajax 响应收到的 Json 数据。
{
"error": {
"errorCode": "0001",
"errorText": "SUCCESS"
},
"responselist": [
{
"count": 2,
"event": [
{
"startDate": null,
"eventId": 1234,
"eventName": "Interview",
"modifiedUser": "User",
"eventTypeCode": "1",
"eventVenue": null,
"eventSpecialInst": "isnsdf",
"eventStatusCode": "OP",
"eventLangCode": "Eng",
"eventDesc": "sdfsadfsd",
"fromEmailId": "Abcd@apple.com",
"rsvpDeadline": 5,
"canceledInd": "yes",
"canceldEmailText": "sdfasdfasdfasfasdfasdfasdf",
"daysToWaitlistLastCall": 5,
"daysToReminderAdmin": 6,
"daysToReminderEvent": 3,
"daysToReminderInvitation": 2,
"endDate": null,
"venueAddrLine1": null,
"venueAddrLine2": null,
"venueAddrLine3": null,
"cityCode": null,
"stateCode": null,
"appId": null,
"modifiedDate": "2010-12-16",
"countryCode": null,
"zipCode": null,
"user_id": null,
"updateFlag": "R"
},
{
"startDate": null,
"eventId": 4321,
"eventName": "Seasonal Hiring",
"modifiedUser": "User",
"eventTypeCode": "1",
"eventVenue": null,
"eventSpecialInst": "isnsdf",
"eventStatusCode": "OP",
"eventLangCode": "Eng",
"eventDesc": "sdfsadfsd",
"fromEmailId": "Abcd@apple.com",
"rsvpDeadline": 5,
"canceledInd": "yes",
"canceldEmailText": "sdfasdfasdfasfasdfasdfasdf",
"daysToWaitlistLastCall": 5,
"daysToReminderAdmin": 6,
"daysToReminderEvent": 3,
"daysToReminderInvitation": 2,
"endDate": null,
"venueAddrLine1": "KFC",
"venueAddrLine2": "The Forum",
"venueAddrLine3": "Koramangala",
"cityCode": "Bangalore",
"stateCode": "Karnataka",
"appId": null,
"modifiedDate": "2010-12-16",
"countryCode": "India",
"zipCode": "560040",
"user_id": null,
"updateFlag": "R"
}
]
}
]
}
使用下面的代码提取事件对象内的信息。但我做不到。需要指导。
$.ajax({ url:"<%=request.getContextPath()%>/service/showInvitedEvents/21",
dataType:"json",
success: function(jsonData)
{
alert("Inside response success");
$.each(jsonData.responselist.event,function(i,item)
$.each(Employees,function(i,item)
{
alert('Iteration is' + i);
var teventName = item.eventName;
var teventVenue = item.eventVenue;
var tstartDate = item.startDate;
var tendDate = item.endDate;
var tstarend = tstartDate +" - "+ tendDate ;
$("#eventTable tbody").append("<tr><td><a id="+teventName+i+" href=<%=request.getContextPath()%>/service/session/1234>"+teventName+"</a></td><td>"+teventVenue+"</td><td>"+tstarend+"</td></tr>");
});
最佳答案
首先,你不能循环 jsonData.responselist.event。 jsonData.responselist 是一个数组,因此要么需要进行双循环,要么如果您始终知道 responslist 中只有一项,则可以循环 jsonData.responselist[0].event
对于其余部分,我不确定为什么你有这一行:
$.each(Employees,function(i,item)
看起来像是一个错误,因为它在那里无效(语法错误并且它隐藏了真实的 i 和 item)。
关于javascript - 使用 Jquery 循环 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4496456/