如何在javascript中读取本地的json格式文本文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在javascript中读取本地的json格式文本文件相关的知识,希望对你有一定的参考价值。
本地有个吧数据按json格式写好的文本文件
我想在javascript脚本中读取这个文本文件的内容,并转换成一个json格式的变量
怎么办?
var _script = document.createElement("script");
_script.type = "text/javascript";
_script.charset = charset || "utf-8";
_script._fun = typeof cb != "undefined" ? cb : new Function();
_script[document.all ? "onreadystatechange" : "onload"] = function ()
if (document.all && this.readyState != "loaded" && this.readyState != "complete") return;
this._fun(this);
this._fun = null;
this[document.all ? "onreadystatechange" : "onload"] = null;
var _t = this;
_t.parentNode.removeChild(_t);
;
_script.src = uri;
document.getElementsByTagName("head").item(0).appendChild(_script);
;
loadScript(url,function()console.log(json),"utf-8")//把你的文本文件换成HTML,url是html地址,json是你的json变量的变量名。jsonp格式获取。 参考技术A 首先Javascript是不能访问客户端(即浏览器端)的本地资源的,你说的这个文件是不是在服务器端上的? 参考技术B 用jquery提供的函数最简单有效:$.getJSON("abc.json",function(data)
//data就是json对象了,不需要在转换
);本回答被提问者和网友采纳 参考技术C 只能用后台JSP或者PHP等语言来读取转换。谢谢
jQuery中读取本地json文件
jquery解析JSON
- 例子 一:
json文件是一种轻量级的数据交互格式。一般在jquery中使用getJSON()方法读取,具体示例代码如下,感兴趣的朋友可以参考下哈,希望可以帮助到你
$.getJSON(url,[data],[callback])
url:加载的页面地址
data: 可选项,发送到服务器的数据,格式是key/value
callback:可选项,加载成功后执行的回调函数
目录结构:
1.首先建一个JSON格式的文件userinfo.json 保存用户信息。
如下:
[ { "name":"张国立", "sex":"男", "email":"zhangguoli@123.com" }, { "name":"张铁林", "sex":"男", "email":"zhangtieli@123.com" }, { "name":"邓婕", "sex":"女", "email":"zhenjie@123.com" } ]
2.其次建一个getUserinfo.html页面用于获取JSON文件里的用户信息数据,并显示
代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>getJSON获取数据</title> <script type="text/javascript" src="https://code.jquery.com/jquery-3.0.0.min.js"></script> <style type="text/css"> #divframe { border: 1px solid #999; width: 500px; margin: 0 auto; } .loadTitle { background: #CCC; height: 30px; } </style> <script type="text/javascript"> $(function () { $("#btn").click(function () { $.getJSON("js/userinfo.json", function (data) { var $jsontip = $("#jsonTip"); var strHtml = "读取的数据:<br/>";//存储数据的变量 $jsontip.empty();//清空内容 $.each(data, function (haha, info) { strHtml += "姓名:" + info["name"] + "<br>"; strHtml += "性别:" + info["sex"] + "<br>"; strHtml += "邮箱:" + info["email"] + "<br>"; strHtml += "<hr>" }) $jsontip.html(strHtml);//显示处理后的数据 }) }) }) </script> </head> <body> <div id="divframe"> <div class="loadTitle"> <input type="button" value="获取数据" id="btn"/> </div> <div id="jsonTip"> </div> </div> </body> </html>
3.【运行】效果图:
用浏览器打开getUserinfo.html文件,显示
参考:
2.例子 二
1.json文件:test.json
[ { "id": 1, "uname":"andy", "unumber": 1, "courseInfos": [ { "id": 1, "cname": "数学", "caddress": "1号楼" }, { "id": 3, "cname": "英语", "caddress": "外教楼" } ] }, { "id": 2, "uname": "zty", "unumber": 2, "courseInfos": [ { "id": 2, "cname": "化学", "caddress": "综合楼" }, { "id": 3, "cname": "英语", "caddress": "外教楼" } ] }, { "id": 3, "uname": "巩希波", "unumber": 3, "courseInfos": [] }, { "id": 5, "uname": "xiaoming", "unumber": 4, "courseInfos": [] } ]
2.读取json文件的getUserInfor2.html文件:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>getJSON获取数据</title> <script type="text/javascript" src="https://code.jquery.com/jquery-3.0.0.min.js"></script> <style type="text/css"> #divframe { border: 1px solid #999; width: 500px; margin: 0 auto; } .loadTitle { background: #CCC; height: 30px; } </style> <script type="text/javascript"> $(function () { $("#btn").click(function () { $.getJSON("test.json", function (data) { var $jsontip = $("#jsonTip"); var strHtml = "读取的数据:<br/>";//存储数据的变量 $jsontip.empty();//清空内容 $.each(data, function (haha, info) { strHtml += "姓名:" + info["uname"] + "<br>"; strHtml += "id:" + info["id"] + "<br>"; var infos = info["courseInfos"]; $.each(infos, function (hehe, info2) { strHtml += "科目:" + info2["cname"] + "<br>"; strHtml += "教学楼:" + info2["caddress"] + "<br>"; strHtml += "<hr>" }) }) $jsontip.html(strHtml);//显示处理后的数据 }) }) }) </script> </head> <body> <div id="divframe"> <div class="loadTitle"> <input type="button" value="获取数据" id="btn"/> </div> <div id="jsonTip"> </div> </div> </body> </html>
3.用浏览器打开,查看效果图:
以上是关于如何在javascript中读取本地的json格式文本文件的主要内容,如果未能解决你的问题,请参考以下文章