用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"
},{......});
上一篇:python3 deque(双向队列)


下一篇:SpringMVC返回json数据的三种方式