點擊「下載」按鈕,會把文本域中的內容全部作為一個.html後綴文件下載下來,各流程效果如下面幾張圖:
test.html在瀏覽器中訪問的效果
觸發下載的JS代碼就幾行:
對於非文本文件,也是可以直接JS觸發下載的,例如,如果我們想下載一張圖片,可以把這張圖片轉換成base64格式,然後下載。
代碼示意:
不止是.html文件,.txt, .json等只要內容是文本的文件,都是可以利用這種小技巧實現下載的。
在Chrome瀏覽器下,模擬點擊創建的<a>元素即使不append到頁面中,也是可以觸發下載的,但是在Firefox瀏覽器中卻不行,因此,上面的funDownload()方法有一個appendChild和removeChild的處理,就是為了兼容Firefox瀏覽器。
download屬性從Edge13開始支持,理論上,edge也應該支持直接JS觸發的瀏覽器文件下載,但我手頭上並無相關瀏覽器,無法確定真實情況如何,歡迎有條件的小夥伴幫忙測下告知結果。
就這些吧,感謝閱讀!
㈡ go語言怎樣把json格式的數據發給前端jquery處理
這個東西跟語言沒關系,你要搞清楚http的流程,在你這種情況下,go語言寫的程序是作為版http server,jquery作為瀏覽器中運權行的腳本,你可以使用jquery向伺服器發送ajax請求,伺服器返回json數據就可以了, http.Handle("/json", fooHandler)
http.HandleFunc("/test", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "這里寫上你的json數據就行了")
})
log.Fatal(http.ListenAndServe(":8080", nil))
對於jquery就
$.get("/test/json",function(m){alert(m);});
就可以了
㈢ go語言 怎麼處理json裡面的數組
需要寫一個方法,把json數據轉換成list集合數據
public static List jsonToBean(String data, Object bean) {
List list = new ArrayList();
try {
JSONArray array;
try {
array = new JSONArray(data);
for (int i = 0; i < array.length(); i++) {
Object toBean = getBean(bean);
JSONObject ob = new JSONObject();
ob = (JSONObject) array.get(i);
toBean = jsonStrToBean(ob, toBean);
list.add(toBean);
}
return list;
} catch (JSONException e) {
try {
Object obj = null;
JSONObject jsonObj = new JSONObject(data);
Object toBean = getBean(bean);
toBean = jsonStrToBean(jsonObj, toBean);
list.add(toBean);
return list;
} catch (JSONException e1) {
log.error("Error covert String to JSONObject", e);
e1.printStackTrace();
}
e.printStackTrace();
log.error("Error covert String to JSONArray", e);
}
} catch (SecurityException e) {
e.printStackTrace();
}
return list;
}
㈣ 如何讓golang 把變數解析為json,並輸出為文件。
1. 不管golang從json文件讀取數據,還是寫數據到json配置文件,都需要encoding/json包,如下回:import (
"encoding/json"
)
2. 編碼JSON,輸答出數據到json文件,有方法如下:
json.Marshal(xxx) 和 json.MarshalIndent(c, "", " ") ,兩個方法的區別是,MarshalIndent(c, "", " ")方法按照json格式 縮進,也就是美化了的 可讀性很高的 帶縮進的 Json數據。所以只要是json格式數據,當然用第二個方法啦。
3. 具體代碼如下:
c := make(map[string]interface{})
c["name"] = "Gopher"
c["title"] = "programmer"
c["contact"] = map[string]interface{}{
"home": "415.333.3333",
"cell": "415.555.5555",
㈤ golang 有處理jsonpath嗎
JSON傳值的時候,如果有回車符就會掛的。我們可以使用正則來去掉回車符:
1 $str = preg_replace("'([\r\n])[\s]+'", "", $str);
2
3 // 不用正則
4 $str = str_replace("\n","",$str);
轉出來的字元串就沒有回車符的困擾了。
順便記錄一個PHP過濾腳本:
01 <?php
02 // $document 應包含一個 HTML 文檔。
03 // 本例將去掉 HTML 標記,javascript 代碼
04 // 和空白字元。還會將一些通用的
05 // HTML 實體轉換成相應的文本。
06
07 $search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript
08 "'<[\/\!]*?[^<>]*?>'si", // 去掉 HTML 標記
09 "'([\r\n])[\s]+'", /
㈥ 想用go語言實現讀取一個文件到內存,然後向別人提供這個文件的內容怎麼做
如果是把內容放在內存里,那麼是不是會有滿的時候的。
緩沖,放臨時文件或內存什麼的。你看資料庫為啥搜索很快,那就是有索引,根據關鍵字知道數據在哪裡
㈦ golang 想打開同級目錄下的文件,那麼路徑該怎麼寫
bin目錄下存放復的是項目調試制之後的可運行文件。 在bin下有兩個文件夾,一個是Debug,另一個是Release,都是自動生成的,是看啟動調試時選擇哪個就生成哪個文件夾,Release比Debug小,但是這兩個文件夾下存放的東西都是一樣的,當你調試項目的時候.
㈧ 如何讀取一個本地Json文件並查詢該文件展示其內容
String fullFileName = "E:/a.json";
File file = new File(fullFileName);
Scanner s<img id="selectsearch-icon" src="" alt="搜索">canner = null;
StringBuilder buffer = new StringBuilder();
try {
scanner = new Scanner(file, "utf-8");
while (scanner.hasNextLine()) {
buffer.append(scanner.nextLine());
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
} finally {
if (scanner != null) {
scanner.close();
}
}
System.out.println(buffer.toString())
㈨ json 文件里引用別的文件路徑如何修改
String fullFileName = "E:/a.json";
File file = new File(fullFileName);
Scanner scanner = null;
StringBuilder buffer = new StringBuilder();
try {
scanner = new Scanner(file, "utf-8");
while (scanner.hasNextLine()) {
buffer.append(scanner.nextLine());
}
} catch (FileNotFound www.hbbz08.com Exception e) {
// TODO Auto-generated catch block
} finally {
if (scanner != null) {
scanner.close();
}
}
System.out.println(buffer.toString());
㈩ 如何讀取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);