本文目录一览:
- 1、js 读取 json文件
- 2、如何在javascript中读取本地的json格式文本文件
- 3、php,JavaScript 如何读取并修改json文件?
- 4、js怎样读取json里面的数据
- 5、js怎么读取本地的 json数据
- 6、JS如何在本地读取json等文件
js 读取 json文件
如果要使用js读取json文件,那么ajax操作是必须的了。原生ajax有点麻烦,我想你们项目一定用了什么js库,这里给个jquery的例子:
$.get('xx.json路径', function(data){
alert(data); // data即为json文件内容里的json数据
}, 'json');
如果把这个文件的内容读取为纯文本,可以修改$.get的最后一个参数json为text,或者删掉这个参数,默认也是text。
如何在javascript中读取本地的json格式文本文件
g.loadScript = function (uri, cb, charset) {//load 单个请求
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格式获取。
php,JavaScript 如何读取并修改json文件?
1、直接当做js文件引入 ,相应变量就能获取到;
2、如果想读取本地json文件,需要环境,并且需要后台程序支持,不然出现安全性问题;
3、可以使用bloburl方式去获取文件,不需要后台支持,需要配环境 不然也有安全性问题;
用ajax请求这个json文件,换句话说,就是如下伪代码:
//请求/todo.json这个路径时,返回json文件
$.get('/todo.json').done(function(data){
do something with the data
});
js怎样读取json里面的数据
var json = { contry:{ area:{ man:"12万", women:"10万" } } };
//方式一:使用eval解析
var obj = eval(json);
alert(obj.constructor);
alert(obj.contry.area.women);
//方式二:使用Funtion函数
var strJSON = "{name:'json name'}";//得到的JSON
var obj = new Function("return" + strJSON)();//转换后的JSON对象
alert(obj.name);//json name
alert(obj.constructor);
//复杂一点的json数组数据的解析
var value1 = [{"c01":"1","c02":"2","c03":"3","c04":"4","c05":"5","c06":"6","c07":"7","c08":"8","c09":"9"}, {"c01":"2","c02":"4","c03":"5","c04":"2","c05":"8","c06":"11","c07":"21","c08":"1","c09":"12"}, {"c01":"5","c02":"1","c03":"4","c04":"11","c05":"9","c06":"8","c07":"1","c08":"8","c09":"2"}]; var obj1 = eval(value1);
alert(obj1[0].c01);
//复杂一点的json的另一种形式
var value2 = {"list":[ {"password":"1230","username":"coolcooldool"}, {"password":"thisis2","username":"okokok"}], "array":[{"password":"1230","username":"coolcooldool"},{"password":"thisis2","username":"okokok"}]};
var obj2 = eval(value2);
alert(obj2.list[0].password);
js怎么读取本地的 json数据
var
json
=
{
contry:{
area:{
man:"12万",
women:"10万"
}
}
};
//方式一:使用eval解析
var
obj
=
eval(json);
alert(obj.constructor);
alert(obj.contry.area.women);
//方式二:使用Funtion函数
var
strJSON
=
"{name:'json
name'}";//得到的JSON
var
obj
=
new
Function("return"
+
strJSON)();//转换后的JSON对象
alert(obj.name);//json
name
alert(obj.constructor);
//复杂一点的json数组数据的解析
var
value1
=
[{"c01":"1","c02":"2","c03":"3","c04":"4","c05":"5","c06":"6","c07":"7","c08":"8","c09":"9"},
{"c01":"2","c02":"4","c03":"5","c04":"2","c05":"8","c06":"11","c07":"21","c08":"1","c09":"12"},
{"c01":"5","c02":"1","c03":"4","c04":"11","c05":"9","c06":"8","c07":"1","c08":"8","c09":"2"}];
var
obj1
=
eval(value1);
alert(obj1[0].c01);
//复杂一点的json的另一种形式
var
value2
=
{"list":[
{"password":"1230","username":"coolcooldool"},
{"password":"thisis2","username":"okokok"}],
"array":[{"password":"1230","username":"coolcooldool"},{"password":"thisis2","username":"okokok"}]};
var
obj2
=
eval(value2);
alert(obj2.list[0].password);
JS如何在本地读取json等文件
点击“下载”按钮,会把文本域中的内容全部作为一个.html后缀文件下载下来,各流程效果如下面几张图:
下载按钮点击示意
出现下载确认框(根据浏览器的设置不同也可能直接下载),然后名称默认就是test.html。
默认就是test.html名称
然后对应保存目录就多了个类似下图的文件:
保存好的test.html文件截图示意
双击该test.html文件可以在浏览器中正常浏览,说明,保存信息无误。
test.html在浏览器中访问的效果
触发下载的JS代码就几行:
对于非文本文件,也是可以直接JS触发下载的,例如,如果我们想下载一张图片,可以把这张图片转换成base64格式,然后下载。
代码示意:
不止是.html文件,.txt, .json等只要内容是文本的文件,都是可以利用这种小技巧实现下载的。
在Chrome浏览器下,模拟点击创建的a元素即使不append到页面中,也是可以触发下载的,但是在Firefox浏览器中却不行,因此,上面的funDownload()方法有一个appendChild和removeChild的处理,就是为了兼容Firefox浏览器。
download属性从Edge13开始支持,理论上,edge也应该支持直接JS触发的浏览器文件下载,但我手头上并无相关浏览器,无法确定真实情况如何,欢迎有条件的小伙伴帮忙测下告知结果。
就这些吧,感谢阅读!