在Web開發中,數據展示是非常重要的一個環節。使用datatable插件可以有效地展示數據,但有時候我們需要將數據以樹形結構展示,這時我們可以使用datatable生成json樹。
生成json樹的過程非常簡單,只需要使用一些datatable的API即可。
// 初始化datatable var table = $('#example').DataTable({ ajax: 'data.json' }); // 獲取所有數據并轉換成數組 var data = table.rows({ search: 'applied' }).data().toArray(); // 遞歸生成樹形結構 function generateTree( data, pid ){ var result = [], temp; for( var i in data ){ if( data[i].pid == pid ){ temp = data[i]; temp.children = generateTree( data, temp.id ); result.push( temp ); } } return result; } // 生成樹形結構 var tree = generateTree( data, 0 ); // 轉換成JSON格式 var json = JSON.stringify( tree );
如上所示,我們將datatable中所有數據轉換成數組,并使用遞歸函數將數據轉換成樹形結構。最后,我們將樹形結構轉換成JSON格式。
使用這種方法生成的json樹可以方便地用于前端展示頁面的樹形結構。