使用js读取 .json、.txt等文件里面的数据

1.什么是json?它有那些优势?

JSON 指的是JavaScript对象表示法(全称为 JavaScript Object Notaion)。
JSON 是一种轻量级的文本数据交换格式。
JSON 是一种独立语言。JSON 通常使用JavaScirpt语法来描述对象,但是JSON 仍然独立于语言和平台。
JSON 具有自我描述性,更易于理解。

2.怎么在HTML使用JSON来读取数据?

student.json文件规范:

{
	"student":[
		{
			"No":"20190801",
			"Name":"张三",
			"Age":"21"
		},
		{
			"No":"20190802",
			"Name":"李四",
			"Age":"19"
		},
		{
			"No":"20190803",
			"Name":"王麻子",
			"Age":"33"
		},
		{
			"No":"20190804",
			"Name":"赵六",
			"Age":"23"
		}
	]
}

这是JSON文件通用格式,下面我们展示如何使用过js读取文件数据。

<body>
	<div id="app" class="container"></div>
	<script>
		//创建XMLHttpRequest对象
		var xmlhttp=new XMLHttpRequest();
		//onreadystatechange属性定义当前readyState发生变化时执行的函数
		//readyState属性表示当前XMLHttpRequest的状态
		//status属性表示了当前XMLHttpRequest对象的状态
		xmlhttp.onreadystatechange=function(){
			if(this.readyState==4&&this.status==200){
				//JSON.parse() 方法将数据转换成 JavaScript对象
				//有的时候我们还会用到JSON.stringify() 方法,这个方法的作用是将JavaScript对象转换成字符串 
				var myArr=JSON.parse(this.responseText);
				//有的同学可能不理解下面的  `` (反引号)这是es6语法的特性,大家感兴趣的话可以去了解。
				var html=`<table class="table table-bordered table-hover table-condensed">
						<head>
							<tr>
								<th>学号</th>
								<th>姓名</th>
								<th>年龄</th>
							</tr>
						</head>
						<tbody>`;
				//主要这里遍历一定要是myArr的student对象。
				//因为myArr这个对象中还有许多的对象,所以我们在使用的时候需要指明是哪一个对象
				for (var i = 0; i < myArr.student.length; i++) {
					html=html+`
							<tr>
								<td>`+myArr.student[i].No+`</td>
								<td>`+myArr.student[i].Name+`</td>
								<td>`+myArr.student[i].Age+`</td>
							</tr>`;
				}
				html=html+`</tbody></table>`;
				document.getElementById('app').innerHTML=html;
			}
		}
		//open(method, url, async, user, psw)  规定请求
		/*
			method:请求类型 GET 或 POST
			url:文件位置
			async:true(异步)或 false(同步)
			user:可选的用户名称
			psw:可选的密码
		*/
		xmlhttp.open("GET","../json/student.json",true);
		//send() 将请求发送到服务器
		xmlhttp.send();
	</script>
</body>

注意
1.使用之前必须要导入jquery文件
2.对xmlhttp.onreadystatechange()想要深入了解,可以点击这里
3.在读取JSON里面的数据时,myArr.student[i].Age中的Age必须和JSON中定义的字符一样,不然显示的是undefined
4.此方法不仅仅局限于JSON文件,可以尝试将student.json的后缀名改成.txt文件后缀名,也是可以读取出数据的。

  • 18
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值