在网上找了一圈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>
GitHub 加速计划 / js / json
18
5
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:3 个月前 )
2134cb94 * change NLOHMANN_JSON_FROM_WITH_DEFAULT to let NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT work with an empty JSON instance * fix ci_static_analysis_clang (ci_clang_tidy) * change NLOHMANN_JSON_FROM_WITH_DEFAULT to let NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT work with an empty JSON instance 7 天前
6057b31d * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * Use ubuntu-latest image to run Valgrind (#4575) * :wrench: use Clang image to run valgrind * :wrench: use Clang image to run valgrind * :wrench: use Clang image to run valgrind * :wrench: use Ubuntu image to run valgrind * Use Clang image to run iwyu (#4574) * :wrench: use Clang image to run iwyu * :wrench: use Clang image to run iwyu * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * :wrench: overwork astyle call * :art: format code * :hammer: clean up 9 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐