利用jquery如何从json中读取数据追加到html中


Posted in jQuery onDecember 01, 2017

JSON 格式

json 是 Ajax 中使用频率最高的数据格式,在浏览器和服务器中之间的通讯可离不开它。

JSON 格式说明

需要特别注意的是,在 JSON 中的属性名是需要使用引号引起来的。

1.下载安装jquery

可通过下面的方法引入在线版本的js:

<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>

参考安装文档:https://3water.com/zt/jquerydown.htm

2.准备一个json格式的文件,后缀可以不是.json

例如下面是result.json的格式

{
 "title":"【UI测试结果】-转转2017/1/23 14:47",
 "starttime":"2017/1/23 15:00 45",
 "endtime":"2017/1/23 15:01 42",
 "passcount":10,
 "failurecount":5,
 "resultinfo":[
 {
 "name":"发布",
 "moudle":"Publish",
 "pass":"true",
 "onecepass":"true",
 "log":"true"
 },
 {
 "name":"登录",
 "moudle":"Login",
 "pass":"false",
 "onecepass":"true",
 "log":"asserterrorlog",
 "failurereason":{
  "errorlog":"asserterror",
  "errorimg":"./登录.jpg"
  }
 }
 ]
}

3.通过$.getJSON获得Json文件的数据

例如下面的例子:读取result.json文件的内容,存储到result变量中,结果是一个json格式

$.getJSON('./result.json',function(result){}

4.通过【$('#元素id').after(html内容);】将html内容添加到定位到的元素后面

元素定位方式

$("#id"):定位到id,
$(“p"):定位到标签p,其他标签同理
$(“.class”):定位到class

插入html内容位置:

  • append() - 在被选元素的结尾插入内容
  • prepend() - 在被选元素的开头插入内容
  • after() - 在被选元素之后插入内容
  • before() - 在被选元素之前插入内容

Json数据的操作

JSON对象[key]来读取内容:result['title'],或者用result.”title"

数组的对象值,可以通过$.each来获得数据:

$.each(JSON数组对象,function(遍历索引i,遍历对象){操作遍历的对象})

读取result.json,追加html的代码如下

(jquery需要写在<script>标签内)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
//使用getJSON方法读取json数据,
//注意:info.json可以是不同类型文件,只要其中的数据为json类型即可
 $.getJSON('./result.json',function(result){
 var html_title='';
 var html_resultinfo='';
 
 html_title += '<b>'+result["title"]+'</b>';
 $('#resultitle').after(html_title);
 $.each(result["resultinfo"],function(i,item){
 if(item["pass"]=="true") {
 html_resultinfo += '<tr><td>' + item['name'] + '</td>' +
 '<td>' + item['moudle'] + '</td>' +
 '<td>' + item["pass"] + '</td>' +
 '<td>' + item['onecepass'] + '</td>' +
 '<td id="' + item['moudle'] + '" class="collapsed" onclick="collapsedisplay(' + item['moudle'] + ')"><u style="color: blue;">展开</u></td></tr>';
 html_resultinfo +='<tr id="' + item['moudle'] + 'info" class="collapsedinfo" style="display:none"><td colspan="5">' + item['log'] + '</td></tr>';
 }
$('#infotitle').after(html_resultinfo);//after方法:在每个匹配的元素之后插入内容。
 });
});
 
</script>
</HEAD>

<BODY>
<div style="margin-top: 30px">
 <div style="font-size: 30px;text-align: center">
 <p id="resultitle" ></p>
 </div>
 </div>
 <div id="resultinfo" style="clear: both;padding-top: 30px">
 <table style="width: 1080px">
 <tr id="infotitle">
 <th style="width:360px">用例名称</th>
 <th style="width:200px">模块名称</th>
 <th style="width:180px">是否成功</th>
 <th style="width:180px">一次成功</th>
 <th style="width:160px">详情</th></tr>
 </table>
 </div>

</div>
</BODY>
</HTML>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

jQuery 相关文章推荐
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
May 08 jQuery
jquery append与appendTo方法比较
May 24 jQuery
jQuery插件imgAreaSelect基础讲解
May 26 jQuery
jquery实现倒计时小应用
Sep 19 jQuery
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 jQuery
js和jQuery以及easyui实现对下拉框的指定赋值方法
Jan 23 jQuery
jQuery实现模糊搜索功能的方法分析
Jun 29 jQuery
解决jquery有正确返回值但不执行success函数的问题
Aug 20 jQuery
jquery实现联想词搜索框和搜索结果分页的示例
Oct 10 jQuery
jquery中为什么能用$操作
Jun 18 jQuery
jQuery实现每日秒杀商品倒计时功能
Sep 06 jQuery
jQuery实现容器间的元素拖拽功能
Dec 01 jQuery
JS和JQuery实现雪花飘落效果
Nov 30 #jQuery
jQuery zTree 异步加载添加子节点重复问题
Nov 29 #jQuery
jQuery图片加载失败替换默认图片方法汇总
Nov 29 #jQuery
jquery animate动画持续运动的实例
Nov 29 #jQuery
JQuery 又谈ajax局部刷新
Nov 27 #jQuery
jQuery Datatables表头不对齐的解决办法
Nov 27 #jQuery
javaScript和jQuery自动加载简单代码实现方法
Nov 24 #jQuery
You might like
一些花式咖啡的配方
2021/03/03 冲泡冲煮
PHP邮件专题
2006/10/09 PHP
PHP 读取文件内容代码(txt,js等)
2009/12/06 PHP
php设计模式 Composite (组合模式)
2011/06/26 PHP
php 无法加载mysql的module的时候的配置的解决方案引发的思考
2012/01/27 PHP
js 判断checkbox是否选中的实现代码
2010/11/23 Javascript
JavaScript中:表达式和语句的区别[译]
2012/09/17 Javascript
javascript通过class来获取元素实现代码
2013/02/20 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
Get中文乱码IE浏览器Get中文乱码解决方案
2013/12/26 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
jQuery+html5实现div弹出层并遮罩背景
2015/04/15 Javascript
CSS图片响应式 垂直水平居中
2015/08/14 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
深入理解JS DOM事件机制
2016/08/06 Javascript
详解如何较好的使用js
2016/12/16 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
关于JavaScript中的this指向问题总结篇
2017/07/23 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
三步搞定:Vue.js调用Android原生操作
2020/09/07 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
使用python编写脚本获取手机当前应用apk的信息
2014/07/21 Python
Python中isnumeric()方法的使用简介
2015/05/19 Python
Python实现使用request模块下载图片demo示例
2019/05/24 Python
使用Pycharm分段执行代码
2020/04/15 Python
智能家居、吸尘器、滑板车、电动自行车网上购物:Geekmaxi
2021/01/18 全球购物
strlen的几种不同实现方法
2013/05/31 面试题
给客户的道歉信
2014/01/13 职场文书
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
教育技术职业规划范文
2014/03/04 职场文书
《池塘边的叫声》教学反思
2014/04/12 职场文书
售房委托书
2014/08/30 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
暑期社会实践新闻稿
2015/07/17 职场文书
贴吧吧主申请感言
2015/08/03 职场文书