首页 > 其他分享 >JS解析JSON数据到TABLE表格

JS解析JSON数据到TABLE表格

时间:2024-09-06 14:49:32浏览次数:7  
标签:星期一 星期二 星期三 JS 星期五 JSON table TABLE 星期四

效果图:

 

 

数据采用JSON,

[
    {
        "时间段": "上午",
        "XX小学班课表": [
            {
                "名称": "教师上班",
                "时间": "8:00",
                "星期一": "",
                "星期二": "",
                "星期三": "",
                "星期四": "",
                "星期五": ""
            },
            {
                "名称": "第一节课",
                "时间": "8:30-9:10",
                "星期一": "语文",
                "星期二": "数学",
                "星期三": "语文",
                "星期四": "语文",
                "星期五": "结合实践活动"
            },
            {
                "名称": "大课间活动",
                "时间": "9:10-9:40",
                "星期一": "",
                "星期二": "",
                "星期三": "",
                "星期四": "",
                "星期五": ""
            },
            {
                "名称": "第二节课",
                "时间": "9:45-10:25",
                "星期一": "数学",
                "星期二": "语文",
                "星期三": "书法",
                "星期四": "数学",
                "星期五": "语文"
            },
            {
                "名称": "眼保健操",
                "时间": "10:25-10:30",
                "星期一": "",
                "星期二": "",
                "星期三": "",
                "星期四": "",
                "星期五": ""
            },
            {
                "名称": "第三节课",
                "时间": "10:40-11:20",
                "星期一": "道德与法制",
                "星期二": "科学",
                "星期三": "科学",
                "星期四": "道德与法制",
                "星期五": "音乐"
            }
        ]
    },
    {
        "时间段": "午休",
        "杭州市东冠小学六(6)班课表": [
            {
                "名称": "午休",
                "时间": "11:20-12:50",
                "星期一": "",
                "星期二": "",
                "星期三": "",
                "星期四": "",
                "星期五": ""
            }
        ]
    },
    {
        "时间段": "下午",
        "杭州市东冠小学六(6)班课表": [
            {
                "名称": "第四节课",
                "时间": "13:00-13:35",
                "星期一": "英语",
                "星期二": "体育与健康",
                "星期三": "数学",
                "星期四": "英语",
                "星期五": "科学"
            },
            {
                "名称": "眼保健操",
                "时间": "13:35-13:40",
                "星期一": "",
                "星期二": "",
                "星期三": "",
                "星期四": "",
                "星期五": ""
            },
            {
                "名称": "第五节",
                "时间": "13:50-14:25",
                "星期一": "体育与健康",
                "星期二": "美术",
                "星期三": "体育与健康",
                "星期四": "劳动",
                "星期五": "信息科学"
            },
            {
                "名称": "第六节",
                "时间": "14:35-15:10",
                "星期一": "拓展性课程",
                "星期二": "美术",
                "星期三": "英语",
                "星期四": "音乐",
                "星期五": "少先队活动"
            },
            {
                "名称": "课外活动",
                "时间": "15:10-15:50",
                "星期一": "",
                "星期二": "",
                "星期三": "",
                "星期四": "",
                "星期五": ""
            },
            {
                "名称": "学生放学",
                "时间": "16:00",
                "星期一": "",
                "星期二": "",
                "星期三": "",
                "星期四": "",
                "星期五": ""
            },
            {
                "名称": "学后托管放学",
                "时间": "17:40",
                "星期一": "",
                "星期二": "",
                "星期三": "",
                "星期四": "",
                "星期五": ""
            }
        ]
    }
]

  前端,  AJAX去获取JSON数据.

<!doctype html>
<html lang="cn">
<head>
    <meta charset="utf-8">
    <meta http-equiv = "x-ua-compatible" content = "ie=edge">
	<meta http-equiv = "Content-Type" content = "text/html;charset=UTF-8">
	<meta http-equiv = "Content-Language" content = "zh-CN">
    <title>班课表</title>
    <meta name = "keywords" content = "班课表" />
    <meta name = "description" content = "班课表">
    <meta name = "viewport" content = "width=device-width, initial-scale=1">
	<link rel = "shortcut icon" href = "../favicon.ico">
    <script>var currentmenu = "Json.jsontable";</script>
    <style>
		body {
			font-family:宋体;
		}
		@media (min-width: 1200px)
		.aaaa {
			width: 98%;
			padding-top: 10px;
		}

		@media (min-width: 992px)
		.aaaa {
			width: 970px;
			padding-top: 10px;
		}
		@media (min-width: 768px)
		.aaaa {
			width: 750px;
			padding-top: 10px;
		}
		row{
			margin-right: 0px;
			margin-left: 0px;
		}
		.myTable{
			margin: auto;
			table-layout: fixed;
			font-size: 13px;
			border-collapse: collapse;
            border: 1px solid #000;
		}
		caption{
			padding: 10px;
			font-size: 30px;
			font-weight: bold;
		}	
		th,td{
			text-align: center;
			white-space: nowrap;  /* 防止单元格内容换行 */
			overflow: hidden;     /* 超出单元格范围的内容将被隐藏 */
			padding: 0 40px;
			border: 1px solid #000;
			/* border: 1px dashed #000; */
			height: 40px;
		}
		th{
			
			background: #2196f3;
			color: #FFF;
			position: -webkit-sticky;
			position: sticky;
			top: 0;               /* TH一直在顶端 */
		}
		table tbody td{

			
		}
		table tbody tr:nth-child(even) {
		    background-color: #C9C9C9;
		}
		/* td:nth-child(-n+2) {
			text-align: center;
		}
		table tbody td:nth-child(3),td:nth-child(4) {
			text-align: left;
		}
		table tbody td:nth-child(5),table tbody td:nth-child(6) {
			text-align: right;
		} */
		table tbody tr:hover {
			background-color: #ffc107; /* 更改为你想要的颜色 */
		}
    </style>
</head>
</div>
	<div id = "jsonTable"></div>
</div>
<script src = "https://www.saoban.cn/js/vendor/jquery-1.12.4.min.js"></script>
    <script src = "https://www.saoban.cn/js/json/public.js"></script>
    <script src = "https://www.saoban.cn/js/json/json5-to-table.js">
	</script>
    <script>
        const { generateHTMLTable } = JSON5_TO_TABLE
		$(document).ready(function(){
			var xhr = new XMLHttpRequest();
			xhr.onreadystatechange = function(){
				if (this.readyState === 4 && this.status === 200){
					var dataJson = JSON.parse(this.responseText);
					var content = dataJson.data;
					if(content){
						// console.log(content);
						$(this).val(unData(JSON.stringify(content, null, 2)));
						var jsonHtmlTable = generateHTMLTable(content, null, {
							attributes: {
								table: {class: "myTable"},	
							}
						});
						$("#jsonTable").html( jsonHtmlTable );
					}
				}
			};
			xhr.open("GET", "?id=json", true);
			xhr.send();	
        });
    </script>	
</body>

  

标签:星期一,星期二,星期三,JS,星期五,JSON,table,TABLE,星期四
From: https://www.cnblogs.com/zhouein/p/18400197

相关文章

  • AI绘画Stable Diffusion常用插件合集
    宝子们,早上好啊~StableDiffusion常用插件,已经给大家整理好了,自取就好。拥有这些SD常用插件,让您的图像生成和编辑过程更加强大、直观、多样化。以下插件集成了一系列增强功能,覆盖从自动补全提示词到高分辨率图像放大,从双语界面到无边图像浏览,为用户提供了无缝的StableDif......
  • JS 将HTML页面转为PDF或者World 并下载
    html导出为PDF是先使用html2canvas转为图片,再将图片通过jspdf.js转为PDFhtml导出为word是利用大佬的JS库,GitHub项目地址如下:https://github.com/huangbohang/export-word/tree/main只涉及到前端的操作使用操作如下1//JS引用2<scriptsrc="https://html2canvas.hertzen.com......
  • JSP酒店客房预订管理系统nadez(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:用户,客房分类,客房信息,客房预订,客房入住,换房申请,退房结账技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringBoot,Spring技......
  • JSP酒店综合管理平台7ez9p--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:用户,收银,客房信息,散客预订,团体预订,房间分类,换房信息,取消预订,散客结账,团体结账,交接信息,监控检测,系统提醒技术要求:开发语言:JSP前端使用:H......
  • 基于nodejs+vue大学校园公益回收平台设计与实现[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着高等教育的普及与校园生活的日益丰富,大学校园内产生的可回收物品及闲置资源日益增长。然而,传统的废弃物处理方式往往侧重于简单的丢弃或低效率的回收,这......
  • 基于nodejs+vue大学校园网订餐管理系统[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和高校校园生活的日益丰富,大学生对于便捷、高效的生活服务需求日益增长。传统的校园餐饮模式往往受限于时间、地点等因素,难以满足学......
  • 基于nodejs+vue大学校园网络综合服务平台[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和高校规模的不断扩大,大学校园内的信息交流与服务需求日益多样化与复杂化。传统的管理与服务模式已难以满足师生们高效、便捷的生活......
  • 基于nodejs+vue大学新生入学帮助系统[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着高等教育规模的不断扩大,每年有大量新生踏入大学校园,面对全新的环境、复杂的学业要求以及独立生活的挑战,他们往往感到迷茫与不安。大学不仅是知识学习的......
  • 【AI绘画】Stable Diffusion 喂饭教程来啦!价值上万的模特AI换装方法
    大家好,我是爱绘画的彤姐。在电商领域,最近AI模特换装特别火,结合网上的教程和实战,总结了一个最简单性价比最高的方法。今天我们就一起学起来!!一思路整体的思路其实很简单,分为三步:获取模特服饰的蒙版获取模特的姿势特征图通过图生图局部重绘(上传蒙版)出图在整个过程......
  • easyUI定区关联快递员js代码
    easyUI定区关联快递员js代码:<scripttype="text/javascript">$.fn.serializeJson=function(){varserializeObj={};vararray=this.serializeArray();varstr=this.serialize();......