JQuery每个关联JSON对象

时间:2011-12-10 08:24:06

标签: javascript jquery json each

嘿朋友们能帮助我解决这个问题。我有一个JSON:

video_orders = {
    "channel": {
        "1": "relevance",
        "2": "published",
        "3": "viewCount",
        "4": "rating"
    },
    "playlist": {
        "1": "position",
        "2": "commentCount",
        "3": "duration",
        "4": "published",
        "5": "title",
        "6": "viewCount"
    },
    "favorites": {
        "1": "standard"
    }
}

我想要做的是一个Jquery,每个都可以获取键内的所有值,如“频道”,“播放列表”,“收藏夹”。

Currenly我正在做的是:

$(video_orders['channel']).each(function(index, value){
   console.log(index+' : '+value);
})

所以输出应该是:(如果我做console.log)

1 : relevance
2 : published
3 : viewCount
4 : rating

但我得到的都是错的。我究竟做错了什么?怎么能实现呢? 提前谢谢。

2 个答案:

答案 0 :(得分:4)

你使用了错误的each,你想要$.each,而不是$(...).each

$.each(video_orders['channel'], function(index, value){
   console.log(index+' : '+value);
});

$(...).each函数用于迭代一组匹配的DOM元素:

  

迭代jQuery对象,为每个匹配的元素执行一个函数。

$.each功能是:

  

通用迭代器函数,可用于无缝迭代对象和数组。

演示:http://jsfiddle.net/ambiguous/Ax7Eu/

答案 1 :(得分:0)

您正在尝试使用$(selector).each(function)(适用于jQuery选择器)而不是$.each(collection, function)(适用于任何集合)。 http://api.jquery.com/jQuery.each/