2017-06-30 20 views
1

表格式我想從mysqlite數據庫文件。這個顯示數據是我的代碼:顯示JSON結果從SQLite數據庫文件

<!DOCTYPE html> 
<html> 
<head> 
    <title>My App</title> 
    <script src="sql.js"></script> 

</head> 
<body> 
<h1>My App</h1> 
<div id="res" style="width: 100%"> 
</div> 
<script> 
    function loadBinaryFile(path,success) { 
     var xhr = new XMLHttpRequest(); 
     xhr.open("GET", path, true); 
     xhr.responseType = "arraybuffer"; 
     xhr.onload = function() { 
      var data = new Uint8Array(xhr.response); 
      var arr = new Array(); 
      for(var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]); 
      success(arr.join("")); 
     }; 
     xhr.send(); 
    }; 


    loadBinaryFile('MyData.db', function(data){ 
     var db = new SQL.Database(data); 

     var res = db.exec("SELECT * FROM MyRecord"); 
     // document.getElementById("demo").textContent = JSON.stringify(res); 
     var data=JSON.stringify(res); 
     document.getElementById("res").textContent=data; 


}); 

</script> 
</body> 
</html> 

我得到這種格式輸出:

[{"columns":["id","name","gender","fname"],"values":[[1,"divya","female","rao"],[3,"nithin","male","kumar"]]}] 

現在,我如何以表格格式顯示這個json數據?任何人都可以幫助我?

回答

1

var data = [{"columns":["id","name","gender","fname"],"values":[[1,"divya","female","rao"],[3,"nithin","male","kumar"]]}]; 
 

 
data = data[0]; 
 

 

 
var html = '<table><tr>'; 
 

 
data.columns.forEach(d => { 
 
\t html += '<th>' + d + '</th>' 
 
}); 
 

 
html += '<tr>'; 
 

 
data.values.forEach(row => { 
 
\t html += '<tr>'; 
 
\t row.forEach(item => { 
 
    \t html += '<td>'+ item +'</td>' 
 
    }); 
 
    html += '</tr>'; 
 
}); 
 

 
document.body.innerHTML = html;

+0

當我加入這樣的代碼我有錯誤,如「不能讀取屬性未定義‘的forEach’」,也是我用VAR DB =新SQL.Database(數據);在我的代碼中。 – Amshu

+0

我已經使用數據作爲變量名稱。你可以將它重命名爲jsonData。上面發佈的代碼將上面指定的json格式轉換爲html表語法。 – Gunner

+0

對不起。我也使用了相同的變量名稱,即var data = JSON.stringify(res);並得到這個錯誤。如果我按照指定的方式硬編碼json數據,那麼會得到輸出。而不是如果我使用JSON.stringify(res),得到錯誤 – Amshu