欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

datatable json互轉(zhuǎn)

錢良釵1年前7瀏覽0評論

datatable和json是常用的數(shù)據(jù)格式,datatable適合于展現(xiàn)復(fù)雜的結(jié)構(gòu)數(shù)據(jù),而json則是一種輕量級的數(shù)據(jù)交換格式。在前端開發(fā)中,我們常常需要將datatable和json進(jìn)行互轉(zhuǎn)。下面讓我們來看看如何實(shí)現(xiàn)。

首先,將datatable轉(zhuǎn)成json數(shù)據(jù),我們可以使用以下代碼:

function datatableToJson(dataTable) {
var data = [];
var headers = [];
for (var i = 0; i< dataTable.getNumberOfColumns(); i++) {
headers[i] = dataTable.getColumnLabel(i);
}
for (var i = 0; i< dataTable.getNumberOfRows(); i++) {
var rowData = {};
for (var j = 0; j< headers.length; j++) {
rowData[headers[j]] = dataTable.getValue(i, j);
}
data.push(rowData);
}
return JSON.stringify(data);
}

以上代碼定義了一個(gè)函數(shù),接受一個(gè)datatable作為參數(shù),輸出json字符串。該函數(shù)首先獲取datatable的列頭,并將其存入headers數(shù)組中。然后,遍歷每一行數(shù)據(jù),將每行數(shù)據(jù)存入一個(gè)對象中,對象的屬性名為headers數(shù)組中對應(yīng)列頭的值。最后將每個(gè)對象push到data數(shù)組中,將data數(shù)組轉(zhuǎn)為json字符串并返回。

接下來,我們看看如何將json數(shù)據(jù)轉(zhuǎn)成datatable。代碼如下:

function jsonToDataTable(json) {
var data = JSON.parse(json);
var dataTable = new google.visualization.DataTable();
var headers = [];
for (var key in data[0]) {
headers.push(key);
dataTable.addColumn(typeof data[0][key], key);
}
for (var i = 0; i< data.length; i++) {
var row = [];
for (var j = 0; j< headers.length; j++) {
var value = data[i][headers[j]];
row.push(value);
}
dataTable.addRow(row);
}
return dataTable;
}

以上代碼定義了一個(gè)函數(shù),接受一個(gè)json字符串作為參數(shù),輸出一個(gè)datatable對象。該函數(shù)首先將json字符串解析成一個(gè)對象數(shù)組,根據(jù)對象的屬性動(dòng)態(tài)添加datatable的列。然后,遍歷每個(gè)對象,將該對象的屬性值存入一個(gè)數(shù)組中,作為該行數(shù)據(jù),并添加到datatable中。最后返回datatable對象。

以上就是如何實(shí)現(xiàn)datatable和json的互轉(zhuǎn)的方法。希望對大家在前端開發(fā)中有所幫助。