使用Jquery遍历Json

时间:2010-12-21 05:10:36

标签: javascript jquery ajax

以下是从Ajax响应中收到的Json Data。

{
    "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>");

           }); 

2 个答案:

答案 0 :(得分:3)

首先,你不能遍历jsonData.responselist.event。 jsonData.responselist是一个数组,所以要么需要进行双循环,要么你总是知道响应列表中只有一个项目你可以遍历jsonData.responselist [0] .event

对于其余部分,我不确定你为什么要这一行:

$.each(Employees,function(i,item)

看起来像是一个错误,因为它在那里是无效的(语法是错误的,它隐藏了i和来自真实的项目)。

答案 1 :(得分:0)

代码中以下行的目的是什么:?

$.each(Employees,function(i,item)

尝试删除它,看看会发生什么。