利用jQuery解析获取JSON数据


Posted in jQuery onApril 08, 2017

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"  
},{......});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery zTree树插件动态加载实例代码
May 11 jQuery
jQuery选择器特殊字符与属性空格问题
Aug 14 jQuery
jQuery实现腾讯信用界面(自制刻度尺)样式
Aug 15 jQuery
jQuery实现锚点向下平滑滚动特效示例
Aug 29 jQuery
zTree jQuery 树插件的使用(实例讲解)
Sep 25 jQuery
jQuery实现滚动效果
Nov 17 jQuery
jquery的 filter()方法使用教程
Mar 22 jQuery
jQuery实现炫丽的3d旋转星空效果
Jul 04 jQuery
jQuery实现table表格信息的展开和缩小功能示例
Jul 21 jQuery
[jQuery] 事件和动画详解
Mar 05 jQuery
JQuery属性操作与循环用法示例
May 15 jQuery
使用jquery-easyui的布局layout写后台管理页面的代码详解
Jun 19 jQuery
JavaScript使用链式方法封装jQuery中CSS()方法示例
Apr 07 #jQuery
jQuery中map函数的两种方式
Apr 07 #jQuery
jQuery获取table下某一行某一列的值实现代码
Apr 07 #jQuery
jQuery实现文章图片弹出放大效果
Apr 06 #jQuery
jQuery自定义图片上传插件实例代码
Apr 04 #jQuery
jQuery使用unlock.js插件实现滑动解锁
Apr 04 #jQuery
利用jquery正则表达式在页面验证url网址输入是否正确
Apr 04 #jQuery
You might like
用PHP发电子邮件
2006/10/09 PHP
基于php缓存的详解
2013/05/15 PHP
PHP中上传文件打印错误错误类型分析
2019/04/14 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
基于PHP实现短信验证码发送次数限制
2020/07/11 PHP
PHP生成随机密码4种方法及性能对比
2020/12/11 PHP
jQuery Tools tab(幻灯片)
2012/07/14 Javascript
一个JS的日期格式化算法示例
2013/07/31 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
2015/08/24 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
2016/09/21 Javascript
JS实现的简易拖放效果示例
2016/12/29 Javascript
Vue2 模板template的四种写法总结
2018/02/23 Javascript
webpack4 css打包压缩问题的解决
2018/05/18 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
2018/11/01 Javascript
详解Vue组件之作用域插槽
2018/11/22 Javascript
详解Angular Forms中自定义ngModel绑定值的方式
2018/12/10 Javascript
js实现多个标题吸顶效果
2020/01/08 Javascript
JavaScript适配器模式原理与用法实例详解
2020/03/09 Javascript
Python os模块介绍
2014/11/30 Python
使用graphics.py实现2048小游戏
2015/03/10 Python
Python实现设置windows桌面壁纸代码分享
2015/03/28 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
2016/07/08 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
如何基于windows实现python定时爬虫
2020/05/01 Python
keras load model时出现Missing Layer错误的解决方式
2020/06/11 Python
结束运行python的方法
2020/06/16 Python
matplotlib 多个图像共用一个colorbar的实现示例
2020/09/10 Python
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
现代家居用品及礼品:LBC Modern
2018/06/24 全球购物
员工培训邀请函
2014/02/02 职场文书
项目建议书范文
2014/05/12 职场文书
2014年综治维稳工作总结
2014/11/17 职场文书
离婚协议书样本
2015/01/26 职场文书
关于国庆节的广播稿
2015/08/19 职场文书
HTML速写之Emmet语法规则的实现
2021/04/07 HTML / CSS