本文目錄一覽:
- 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觸發的瀏覽器文件下載,但我手頭上並無相關瀏覽器,無法確定真實情況如何,歡迎有條件的小夥伴幫忙測下告知結果。
就這些吧,感謝閱讀!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/282613.html