一个JSON实例:jQuery解析JSON数据

JSON 是一种比较方便的数据形式 具体的大家可以参考http://baike.baidu.com/view/136475.htm 还挺详细的。

今天用JQuery 写了一个JSON的东西,用了 $.getJSON方法,获得JSON数据和解析 都挺方便简单的。

从http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=? 这个地址得到JSON数据 并且分析里面的结构,生成图片和相关链接等:

JS:

$(function(){  



        var url="http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?" 




        $.getJSON( //使用getJSON方法取得JSON数据  



        url,  



        function(data){ //处理数据 data指向的是返回来的JSON数据  




                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数据的格式 其实它就是个文本文件,可以方便的解析 也可以直接 查看http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=? 这个地址。

({        


 "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": "[email protected] (g.bugel)",           


   "author_id": "38658309@N00",             


   "tags": "china cat feline beijing 2009 chinalab chinalab2009"        


 },{......}); 

相关推荐