在网上找了一圈HTML如何读取json文件,发现解决方案挺多,但是最后都是直接在命令行窗口打印出来,没法进一步使用,最后查查资料捣鼓出一条可行路径。
附上示例程序

1.1 json文件内容
json文件内容以网上常见的为例,命名为"a123.json"

[ 
{ 
"name":"张国立", 
"sex":"男", 
"email":"zhangguoli@123.com" 
}, 

{ 
"name":"张铁林", 
"sex":"男", 
"email":"zhangtieli@123.com" 
}, 

{ 
"name":"邓婕", 
"sex":"女", 
"email":"zhenjie@123.com" 
} 
] 

1.2 读取代码
HTML读取代码如下:

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="UTF-8" />
    <title>json读取</title>
    <script type="text/javascript" src="jquery-1.9.1.min.js"></script>
    <script type="text/javascript">   
    
        a =  $.ajax({
				url: "a123.json",//json文件位置,文件名
				type: "GET",//请求方式为get
				dataType: "json", //返回数据格式为json
				async: false,
				success: function(data) {//请求成功完成后要执行的方法 
				   }
				});	
		
    </script>
</head>
</html>

1.3 控制台查看

运行HTML文件,按"F12"进入控制台,输入a,按下回车,即可查看;

在这里插入图片描述
然后就发现读出来的数据多了很多东西,但是不难发现里边有一个"responseText"的内容正是我们想要的,进行索引即可将其读出;

aa=a.responseText;	

在这里插入图片描述
但是,注意这时候aa是string,还不是能够索引的Object,如果我们想通过索引来读取、修改a123.json里的某一项,还需要将string转换成Object;

result=$.parseJSON(aa)

得到如下结果:
在这里插入图片描述
到此,这个方法就结束了。

需要注意的几点:
① type=“text/javascript” src=“jquery-1.9.1.min.js”> 是不能删的;
② “async: false” 也是不能删的,会导致没法索引;
③ 有时候不仅会有"responseText",还会有"responseJSON",如果有后者,直接索引不用转换了。

完整代码:

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="UTF-8" />
    <title>json读取</title>
    <script type="text/javascript" src="jquery-1.9.1.min.js"></script>
    <script type="text/javascript">   
    
        a =  $.ajax({
				url: "a123.json",//json文件位置,文件名
				type: "GET",//请求方式为get
				dataType: "json", //返回数据格式为json
				async: false,
				success: function(data) {//请求成功完成后要执行的方法 
				   }
				}); 
					aa=a.responseText	;
result=$.parseJSON(a["responseText"])	
    </script>
</head>
</html>
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐