利用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使用正则验证15/18身份证的方法示例
Apr 27 jQuery
jQuery实现简单的下拉菜单导航功能示例
Dec 07 jQuery
jquery的 filter()方法使用教程
Mar 22 jQuery
jQuery滑动效果实现方法分析
Sep 05 jQuery
jQuery实现动画、消失、显现、渐出、渐入效果示例
Sep 06 jQuery
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
Apr 10 jQuery
jQuery创建折叠式菜单
Jun 15 jQuery
jQuery zTree插件快速实现目录树
Aug 16 jQuery
jQuery实现聊天对话框
Feb 08 jQuery
js与jquery获取input输入框中的值实例讲解
Feb 27 jQuery
jQuery 实现DOM元素拖拽交换位置的实例代码
Jul 14 jQuery
jquery插件实现轮播图效果
Oct 19 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
修改apache配置文件去除thinkphp url中的index.php
2014/01/17 PHP
zf框架的zend_cache缓存使用方法(zend框架)
2014/03/14 PHP
PHP定时任务延缓执行的实现
2014/10/08 PHP
浅析PHP7新功能及语法变化总结
2016/06/17 PHP
POST一个JSON格式的数据给Restful服务实例详解
2017/04/07 PHP
laravel 解决路由除了根目录其他都404的问题
2019/10/18 PHP
jquery设置控件位置的方法
2013/08/21 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
PHP中使用微秒计算脚本执行时间例子
2014/11/19 Javascript
浅析JavaScript作用域链、执行上下文与闭包
2016/02/01 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
2016/03/05 Javascript
利用JQuery阻止事件冒泡
2016/12/01 Javascript
canvas实现动态小球重叠效果
2017/02/06 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
2017/02/09 Javascript
详解nodejs模板引擎制作
2017/06/14 NodeJs
Vue 兄弟组件通信的方法(不使用Vuex)
2017/10/26 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
2018/01/26 Javascript
原生JS进行前后端同构
2018/04/22 Javascript
关于js对textarea换行符的处理方法浅析
2018/08/03 Javascript
浅析js中mvvm模式实现的原理
2018/10/06 Javascript
JavaScript实现新年倒计时效果
2018/11/17 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
2020/08/22 Javascript
Python生成随机MAC地址
2015/03/10 Python
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
python用装饰器自动注册Tornado路由详解
2017/02/14 Python
Python探索之URL Dispatcher实例详解
2017/10/28 Python
python+selenium实现163邮箱自动登陆的方法
2017/12/31 Python
应聘自荐信
2013/12/14 职场文书
网页美工求职信范文
2014/04/17 职场文书
助理政工师申报材料
2014/06/03 职场文书
个人买房协议书范本
2014/10/06 职场文书
市场总监岗位职责
2015/02/11 职场文书
法人身份证明书
2015/06/18 职场文书
学校团代会开幕词
2016/03/04 职场文书
暑假开始了,你的暑假学习计划写好了吗?
2019/07/04 职场文书