如何迭代由列表组成的json字符串

时间:2012-07-23 11:14:47

标签: jquery ajax

  

可能重复:
  How to access this JSON value?

我从列表的Spring mvc控制器生成了以下json字符串。 如何在jquery中访问holidayName属性。

[{"holidayId":1,"holidayName":"Raksha Bandhan",
  "holidayStartDate":"Aug 2, 2012 12:00:00 AM",
  "holidayEndDate":"Aug 2, 2012 12:00:00 AM"},
 {"holidayId":2,"holidayName":"Independence day",
  "holidayStartDate":"Aug 15, 2012 12:00:00 AM",
  "holidayEndDate":"Aug 15, 2012 12:00:00 AM"}]

2 个答案:

答案 0 :(得分:0)

 var data=[
           {"holidayId":1,"holidayName":"Raksha Bandhan","holidayStartDate":"Aug 2, 2012 12:00:00 AM","holidayEndDate":"Aug 2, 2012 12:00:00 AM"},
           {"holidayId":2,"holidayName":"Independence day","holidayStartDate":"Aug 15, 2012 12:00:00 AM","holidayEndDate":"Aug 15, 2012 12:00:00 AM"}
         ]

   $.each(data,function(index,item){       
        alert(item.holidayName)      
   });

工作样本:http://jsfiddle.net/5egk2/1/

答案 1 :(得分:0)

我不熟悉Spring MVC,但是你应该注意观察你正在使用的起始“json字符串”是 字符串 还是 对象

如果是字符串,则需要首先使用$ .parseJSON作为@Felix提及。

如果它已经是一个对象,那么你可以像@Shyju那样直接访问它,或者像没有每个循环那样访问它:

var input = 
    [
        {
            "holidayId": 1,
            "holidayName": "Raksha Bandhan",
            "holidayStartDate": "Aug 2, 2012 12:00:00 AM",
            "holidayEndDate": "Aug 2, 2012 12:00:00 AM"
        },
        {
            "holidayId": 2,
            "holidayName": "Independence day",
            "holidayStartDate": "Aug 15, 2012 12:00:00 AM",
            "holidayEndDate": "Aug 15, 2012 12:00:00 AM"
        }
    ];

console.log(input[0]['holidayName']); //'Raksha Bandhan'
console.log(input[1]['holidayName']); //'Independence Day'

http://jsfiddle.net/zTeX2/