利用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 相关文章推荐
Angular2使用jQuery的方法教程
May 28 jQuery
jQuery validata插件实现方法
Jun 25 jQuery
jquery实现下拉菜单的手风琴效果
Jul 23 jQuery
jQuery+ajax实现动态添加表格tr td功能示例
Apr 23 jQuery
jQuery实现列表的增加和删除功能
Jun 14 jQuery
jQuery实现ajax回调函数带入参数的方法示例
Jun 26 jQuery
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
Apr 10 jQuery
JQuery事件委托原理与用法实例分析
May 13 jQuery
jQuery操作选中select下拉框的值代码实例
Feb 07 jQuery
JQuery实现折叠式菜单的详细代码
Jun 03 jQuery
如何基于jQuery实现五角星评分
Sep 02 jQuery
jQuery实现影院选座订座效果
Apr 13 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实现Socket服务器的代码
2008/04/03 PHP
php 文件状态缓存带来的问题
2008/12/14 PHP
PHP取得一个类的属性和方法的实现代码
2011/05/22 PHP
PHP多进程编程实例
2014/10/15 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
JS 无法通过W3C验证的处理方法
2010/03/09 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
2013/06/13 Javascript
前台js调用后台方法示例
2013/12/02 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
jQuery仿天猫实现超炫的加入购物车
2015/05/04 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
Jquery技巧(必须掌握)
2016/03/16 Javascript
VueJS全面解析
2016/11/10 Javascript
Bootstrap源码解读模态弹出框(11)
2016/12/28 Javascript
JS作用域深度解析
2016/12/29 Javascript
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
ES6解构赋值的功能与用途实例分析
2017/10/31 Javascript
vue弹出框组件封装实例代码
2019/10/31 Javascript
基于vue-cli3和element实现登陆页面
2019/11/13 Javascript
解决vue-router路由拦截造成死循环问题
2020/08/05 Javascript
[58:00]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第二场 2月7日
2021/03/11 DOTA
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
全面介绍python中很常用的单元测试框架unitest
2020/12/14 Python
python线程优先级队列知识点总结
2021/02/28 Python
纯css3实现效果超级炫的checkbox复选框和radio单选框
2014/09/01 HTML / CSS
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
Sephora丝芙兰泰国官方网站:国际知名化妆品购物
2017/11/15 全球购物
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
乡镇干部先进事迹材料
2014/02/03 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书
初中英语教学反思范文
2016/02/15 职场文书
车位出租协议书范本
2016/03/19 职场文书
民政局2016年“六一”儿童节慰问活动总结
2016/04/06 职场文书
如何用PHP实现分布算法之一致性哈希算法
2021/05/26 PHP