用JQuery解析獲取JSON數據


JSON 是一種比較方便的數據形式,下面使用$.getJSON方法,實現獲得JSON數據和解析,都挺方便簡單的。從http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=? 這個地址得到JSON數據 並且分析里面的結構,生成圖片和相關鏈接等:

$(function(){
        var url="http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?"
         //使用getJSON方法取得JSON數據
        $.getJSON(  
        url,
        //處理數據 data指向的是返回來的JSON數據
        function(data){
                //生成標題和標題連接
                var tit="<a href='"+ data.link +"'>"+data.title +"<\/a>";
                $("h1").html(tit);   
                //出現在指定位置H1 內
                $("#ginfo").find("p").eq(0).html(data.modified);
                $("#ginfo").find("p").eq(1).html(data.generator);
                var lis="";  
                //li 列表項目
                $(data.items).each(function(i,ite){  
                    //遍歷JSON數據得到所需形式
                    lis+="<li>";
                    lis+="<a href='"+ ite.link +"'><img src='"+ite.media.m +"' title='"+ ite.title +"'><\/><\/a>";
                    lis+="<div>";
                    lis+=ite.description;    
                    lis+="<\/div><\/li>";      
                    })
                $("ul").html(lis);   
                //將遍歷出來的數據呈現在所需位置
                $("li").hover(function(){$(this).addClass("hov")}, function(){$(this).removeClass("hov")});   
        }
        )
  })  

HTML:

<div class="main">
    <div class="ginfo" id="ginfo">   
        <h1></h1>
        <p></p>
        <p></p>
   </div>
   <ul>      
   </ul>
</div> 

最后說一下JSON數據的格式,其實它就是個文本文件,可以方便的解析,也可以直接查看。

    ({
       "title": "Recent Uploads tagged cat",
        "link": "http://www.flickr.com/photos/tags/cat/",
        "description": "",
        "modified": "2009-08-03T01:50:45Z",
        "generator": "http://www.flickr.com/",
        "items"       {
            "title": "DSC06844",
            "link": "http://www.flickr.com/photos/g_bugel/3783605340/",
            "media": {"m":"http://farm3.static.flickr.com/2638/3783605340_a3cfc9eeb9_m.jpg"},
            "date_taken": "2009-07-06T07:27:59-08:00",
            "description": "<p><a href=\"http://www.flickr.com/people/g_bugel/\">g.bugel<\/a> posted a photo:<\/p> <p><a href=\"http://www.flickr.com/photos/g_bugel/3783605340/\" title=\"DSC06844\"><img src=\"http://farm3.static.flickr.com/2638/3783605340_a3cfc9eeb9_m.jpg\" width=\"240\" height=\"180\" alt=\"DSC06844\" /><\/a><\/p> ",
            "published": "2009-08-03T01:50:45Z",
            "author": "nobody@flickr.com (g.bugel)",
            "author_id": "38658309@N00",
            "tags": "china cat feline beijing 2009 chinalab chinalab2009"      
},{......});

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM