在前端的開發中,我們常常面臨著需要將datagrid中的數據導出成json格式的需求,這可以用來實現數據的備份、遷移等功能。下面我們來看一下如何使用datagrid導出json數據。
首先,我們需要準備一個datagrid的數據源,這個數據源可以是一個數組,也可以是一個后臺查詢出來的數據,下面我們以數組為例,示例代碼如下:
var data = [ {"name": "張三", "age": 18, "gender": "男"}, {"name": "李四", "age": 20, "gender": "女"}, {"name": "王五", "age": 22, "gender": "男"}, {"name": "趙六", "age": 24, "gender": "女"} ];
接下來,我們需要使用一個函數來將數組轉換為json格式的字符串,示例代碼如下:
function arrayToJson(array) { var json = ""; for(var i = 0; i< array.length; i++) { json += JSON.stringify(array[i]) + ","; } json = "[" + json.substr(0, json.length-1) + "]"; return json; }
然后,我們需要在datagrid的導出按鈕中調用這個函數,將數據源轉換成json格式的字符串,并將其導出。示例代碼如下:
$('#exportBtn').click(function() { var json = arrayToJson(data); var aLink = document.createElement('a'); var blob = new Blob([json], {type: "application/json"}); aLink.download = 'data.json'; aLink.href = URL.createObjectURL(blob); aLink.click(); });
最后,需要注意的是,當我們在導出按鈕中使用了上述的代碼后,在點擊導出按鈕時,會自動下載一個名為"data.json"的json文件,這個文件中包含了datagrid中的所有數據。