如何使用jQuery解析这个JSON?

时间:2011-08-20 19:12:29

标签: jquery json

我想在以下JSON测试中使用jquery读取items

{"apiVersion":"2.0",
 "data":{
    "updated":"2010-01-07T19:58:42.949Z",
    "totalItems":800,
    "startIndex":1,
    "itemsPerPage":1,
    "items":[
        {"id":"hYB0mn5zh2c",
         "uploaded":"2007-06-05T22:07:03.000Z",
         "updated":"2010-01-07T13:26:50.000Z",
         "uploader":"GoogleDeveloperDay",
         "category":"News",
         "title":"Google Developers Day US - Maps API Introduction",
         "description":"Google Maps API Introduction ...",
         "tags":[
            "GDD07","GDD07US","Maps"
         ],
         "thumbnail":{
            "default":"http://i.ytimg.com/vi/hYB0mn5zh2c/default.jpg",
            "hqDefault":"http://i.ytimg.com/vi/hYB0mn5zh2c/hqdefault.jpg"
         },
         "player":{
            "default":"https://www.youtube.com/watch?v\u003dhYB0mn5zh2c",
            "mobile":"https://m.youtube.com/details?v\u003dhYB0mn5zh2c"
         },
         "content":{
            "1":"rtsp://v5.cache3.c.youtube.com/CiILENy.../0/0/0/video.3gp",
            "5":"http://www.youtube.com/v/hYB0mn5zh2c?f...",
            "6":"rtsp://v1.cache1.c.youtube.com/CiILENy.../0/0/0/video.3gp"
         },
         "duration":2840,
         "aspectRatio":"widescreen",
         "likeCount":171,
         "rating":4.63,
         "ratingCount":68,
         "viewCount":220101,
         "favoriteCount":201,
         "commentCount":22,
         "status":{
            "value":"restricted",
            "reason":"limitedSyndication"
         },
         "accessControl":{
            "syndicate":"allowed",
            "commentVote":"allowed",
            "rate":"allowed",
            "list":"allowed",
            "comment":"allowed",
            "embed":"allowed",
            "videoRespond":"moderated"
         }
        }
    ]
 }
}

3 个答案:

答案 0 :(得分:1)

您可以使用jquery getJSON() jQuery Api

$.getJSON('ajax/test.json', function(jsonData) {
   alert(jsonData.data.items[0].id);
});

答案 1 :(得分:0)

它看起来像一个好的形式json,你可以循环遍历items数组,如下所示。

var jsonTest = {"apiVersion":"2.0",
 "data":{
    "updated":"2010-01-07T19:58:42.949Z",
    "totalItems":800,
    "startIndex":1,
    "items": []
...
..
};


$.each(jsonTest.items, function(index, item){
    alert(item.id);
    alert(item.uploaded);
   //In the loop "this" will also point to the current item from items array
});

答案 2 :(得分:0)

  $.getJSON("pathto.json", function(json) {   

    alert(json.data.items[0].thumbnail.default);     //alerts http://i.ytimg.com/vi/hYB0mn5zh2c/default.jpg


 });

这里是小提琴http://jsfiddle.net/CSvjw/83/