[说明]以下以聚合数据提供的网络数据为例使用jquery2.1.4解析JSON数据,并将解析的结果显示在html页面,在使用聚合数据之前需要首先在其网站注册登录,获得相关拉取数据的权限以及appkey。
首先(接口相关信息):
请求示例:http://v.juhe.cn/movie/index?key=您申请的key&title=功夫
[JSON数据]
index.html
<body>
输入要查看的电影名称:<input id="id_input" type="text" style="font-size: 23px; text-align: center"/><input id="id_search" type="button" value="开始搜索" style="padding: 10px; font-size: 32px"/><br/>
<p id="id_show_movieInfo"></p>
</body>
index.js
$(document).ready(function(){$('#id_search').on("click", searchMovieInfos);
});
function searchMovieInfos(){
var url = 'http://v.juhe.cn/movie/index';
var title = $('#id_input').val();
$.getJSON(url + "?callback=?",
{
"key": "自己申请的appkey",
"title":title
}, function(data){
var resultcode = data.resultcode;
if(resultcode == "200"){
var strResult = "<table border='1' cellspacing='0'><tr><th>基本信息</th><th>影片详情</th><th>相关信息</th><th>影片剧情</th><th>影片海报</th></tr>";
$.each(data.result, function(i, item){
strResult += "<tr><td><ul><li>ID:" + item.movieid + "</li><li>名称:" + item.title + "</li><li>导演:" + item.directors + "</li><li>别名:" + item.also_known_as + "</li><li>语言:" + item.language + "</li><li>发布时间:" + item.release_date + "</li></ul></td>"
+ "<td><ul><li>名称:" + item.title + "</li><li>类型:" + item.genres + "</li><li>语言:" + item.language + "</li><li>时长:" + item.runtime + "</li><li>地区:" + item.film_locations + "</li><li>别名:" + item.also_known_as + "</li><li>发布时间:<br/>" + item.release_date + "</li></ul></td>"
+ "<td><ul><li>导演:" + item.directors + "</li><li>作者:" + item.writers + "</li><li>演员:" + item.actors + "</li><li>评分:" + item.rating + "</li><li>参评人数:" + item.rating_count + "</li></ul></td>"
+ "<td>" + item.plot_simple + "</td><td><image src=" + item.poster + "/></td></tr>";
});
strResult += "</table>";
alert("搜索成功!");
document.getElementById('id_show_movieInfo').innerHTML = strResult;
}else{
alert(data.reason);
}
});
}
[说明]
$.getJSON() : 获得JSON数据类型,可传入三个参数,第一个是url+"?callback=?",url为拉取数据的url,callback说明后面的第三个参数为回调函数,在回调函数中就可以解析JSON数据;第二个使用大括号包裹,里面传入url的参数,如:
{
"key": "自己申请的appkey",
"title":title
}
第三个参数就是拉取JSON数据成功之后的回调函数,在这个函数中解析JSON的数据,从上面的举例中,可以看到该回调函数中的参数data,就是用来解析的网络数据的JSON-Object,JSON数据中的JsonObject可以使用 . 号直接获得,JsonArray的获得是通过如下一个函数获得:
$.each(data.result, function(i, item){
var movieid = item.movieid; // item为JsonArray中每一个JsonObject
var directors = item.directors; // i 为JsonArray中Object的下标
});
result为一个JsonArray,data是包含result的JsonObject。
下面为效果图: