利用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用noConflict代替$的实现方法
Apr 12 jQuery
jQuery事件对象的属性和方法详解
Sep 09 jQuery
简单实现jquery隔行变色
Nov 09 jQuery
关于jquery layui弹出层的使用方法
Apr 21 jQuery
Vue引入jquery实现平滑滚动到指定位置
May 09 jQuery
jQuery中$原理实例分析
Aug 13 jQuery
jQuery实现基本隐藏与显示效果的方法详解
Sep 05 jQuery
jQuery实现为动态添加的元素绑定事件实例分析
Sep 07 jQuery
jquery实现动态创建form并提交的方法示例
May 27 jQuery
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
Jul 10 jQuery
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
Oct 26 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
PHP垃圾回收机制引用计数器概念分析
2013/06/24 PHP
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
php获取网页里所有图片并存入数组的方法
2015/04/06 PHP
php正则表达式学习笔记
2015/11/13 PHP
Yii2.0预定义的别名功能小结
2016/07/04 PHP
Laravel 队列使用的实现
2019/01/08 PHP
js实现倒计时(距离结束还有)示例代码
2013/07/24 Javascript
不提示直接关闭网页窗口的JS示例代码
2013/12/17 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
jquery通过visible来判断标签是否显示或隐藏
2014/05/08 Javascript
javascript弹出带文字信息的提示框效果
2016/07/19 Javascript
详解Vue.js分发之作用域槽
2017/06/13 Javascript
jQuery Datatables表头不对齐的解决办法
2017/11/27 jQuery
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
element UI upload组件上传附件格式限制方法
2018/09/04 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
2019/04/13 Javascript
浅谈目前可以使用ES10的5个新特性
2019/06/25 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
vue使用axios实现excel文件下载的功能
2020/07/16 Javascript
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
Python中的XML库4Suite Server的介绍
2015/04/14 Python
python查询sqlite数据表的方法
2015/05/08 Python
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
2015/11/05 Python
神经网络(BP)算法Python实现及应用
2018/04/16 Python
python检测主机的连通性并记录到文件的实例
2018/06/21 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
2018/12/12 Python
如何从csv文件构建Tensorflow的数据集
2020/09/21 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
党员干部对十八届四中全会的期盼
2014/10/17 职场文书
2015年毕业实习工作总结
2014/12/12 职场文书
小学生通知书评语
2014/12/31 职场文书
2015年教研室工作总结范文
2015/05/23 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书
成本低的5个创业项目:投资小、赚钱快
2019/08/20 职场文书