JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。可以方便的將後臺複雜的數據帶回到前臺進行展示,那麼如何把json字符串寫入到table表格之中呢?
下面以數組結構爲例,簡單介紹一下如何把數據寫入表格。
假設我們從後臺取回的數據是這樣的:
var data=[[[[17.0,38.0,43.0,12.0,1.0,11.0,36.0,8.0,16.0,8.0,0.0,12.0,0.0,5.0,28.0,42.0,2.0,7.0,15.0,42.0,5.0,23.0,41.0,21.0],[12.0,34.0,38.0,5.0,16.0,36.0,20.0,27.0,36.0,44.0,6.0,24.0,22.0,6.0,44.0,28.0,23.0,19.0,23.0,5.0,45.0,8.0,12.0,3.0],[44.0,17.0,3.0,6.0,42.0,10.0,13.0,19.0,10.0,35.0,46.0,15.0,8.0,15.0,28.0,38.0,37.0,32.0,42.0,13.0,6.0,9.0,1.0,23.0],[1.0,34.0,18.0,6.0,20.0,37.0,2.0,29.0,38.0,33.0,45.0,12.0,30.0,5.0,49.0,29.0,10.0,12.0,41.0,31.0,11.0,17.0,30.0,9.0]],[[17.0,38.0,43.0,12.0,1.0,11.0,36.0,8.0,16.0,8.0,0.0,12.0,0.0,5.0,28.0,42.0,2.0,7.0,15.0,42.0,5.0,23.0,41.0,21.0],[12.0,34.0,38.0,5.0,16.0,36.0,20.0,27.0,36.0,44.0,6.0,24.0,22.0,6.0,44.0,28.0,23.0,19.0,23.0,5.0,45.0,8.0,12.0,3.0],[44.0,17.0,3.0,6.0,42.0,10.0,13.0,19.0,10.0,35.0,46.0,15.0,8.0,15.0,28.0,38.0,37.0,32.0,42.0,13.0,6.0,9.0,1.0,23.0],[1.0,34.0,18.0,6.0,20.0,37.0,2.0,29.0,38.0,33.0,45.0,12.0,30.0,5.0,49.0,29.0,10.0,12.0,41.0,31.0,11.0,17.0,30.0,9.0]],[[17.0,38.0,43.0,12.0,1.0,11.0,36.0,8.0,16.0,8.0,0.0,12.0,0.0,5.0,28.0,42.0,2.0,7.0,15.0,42.0,5.0,23.0,41.0,21.0],[12.0,34.0,38.0,5.0,16.0,36.0,20.0,27.0,36.0,44.0,6.0,24.0,22.0,6.0,44.0,28.0,23.0,19.0,23.0,5.0,45.0,8.0,12.0,3.0],[44.0,17.0,3.0,6.0,42.0,10.0,13.0,19.0,10.0,35.0,46.0,15.0,8.0,15.0,28.0,38.0,37.0,32.0,42.0,13.0,6.0,9.0,1.0,23.0],[1.0,34.0,18.0,6.0,20.0,37.0,2.0,29.0,38.0,33.0,45.0,12.0,30.0,5.0,49.0,29.0,10.0,12.0,41.0,31.0,11.0,17.0,30.0,9.0]],[[17.0,38.0,43.0,12.0,1.0,11.0,36.0,8.0,16.0,8.0,0.0,12.0,0.0,5.0,28.0,42.0,2.0,7.0,15.0,42.0,5.0,23.0,41.0,21.0],[12.0,34.0,38.0,5.0,16.0,36.0,20.0,27.0,36.0,44.0,6.0,24.0,22.0,6.0,44.0,28.0,23.0,19.0,23.0,5.0,45.0,8.0,12.0,3.0],[44.0,17.0,3.0,6.0,42.0,10.0,13.0,19.0,10.0,35.0,46.0,15.0,8.0,15.0,28.0,38.0,37.0,32.0,42.0,13.0,6.0,9.0,1.0,23.0],[1.0,34.0,18.0,6.0,20.0,37.0,2.0,29.0,38.0,33.0,45.0,12.0,30.0,5.0,49.0,29.0,10.0,12.0,41.0,31.0,11.0,17.0,30.0,9.0],[23.0,30.0,18.0,10.0,14.0,13.0,6.0,27.0,24.0,8.0,28.0,22.0,3.0,27.0,1.0,8.0,35.0,29.0,39.0,40.0,46.0,47.0,42.0,49.0],[28.0,39.0,1.0,15.0,16.0,4.0,15.0,13.0,28.0,8.0,19.0,0.0,13.0,39.0,40.0,40.0,10.0,10.0,1.0,37.0,15.0,7.0,41.0,6.0]]],[["負荷","A相","B相","C相"],["總功率因數","A相功率因數","B相功率因數","C相功率因數"],["零線電流","A相電流","B相電流","C相電流"],["A相電壓","B相電壓","C相電壓","Uab線電壓","Ubc線電壓","Uca線電壓"]]];
數據看上去很繁瑣,我們可以看一下格式化後的樣子:
這樣就很清晰了,其中數組的第二項是表格中的列名數組,我們現在在html中定義一個表格:
<table class="allTable" cellspacing="0" cellpadding="0" border="0" align="Center" style="width: 1540px;">
<tbody>
<tr>
<th style="width:120px;">時間</th>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
<th>9</th>
<th>10</th>
<th>11</th>
<th>12</th>
<th>13</th>
<th>14</th>
<th>15</th>
<th>16</th>
<th>17</th>
<th>18</th>
<th>19</th>
<th>20</th>
<th>21</th>
<th>22</th>
<th>23</th>
<th>24</th>
</tr>
<tr id="dmonitor_eprtmove_Pdata">
</tr>
<tr id="dmonitor_eprtmove_Padata">
</tr>
<tr id="dmonitor_eprtmove_Pbdata">
</tr>
<tr id="dmonitor_eprtmove_Pcdata">
</tr>
</tbody>
</table>
下面我們就可以寫一個函數把json數組寫入表格了,需要用的jquery框架:
//寫入表格數據
function dmonitor_eprtmove_writedata(seriesId,seriesName,data){
for(i=0;i<seriesId.length;i++){
$("#"+seriesId[i]).empty();
$("#"+seriesId[i]).append("<td style='width:120px;'>"+seriesName[i]+"</td>")
for(j=0;j<24;j++){
if(data==""){
$("#"+seriesId[i]).append("<td >"+0+" </td>");
}else{
$("#"+seriesId[i]).append("<td >"+data[i][j]+" </td>");
}
}
}
}
我們只需要把html中的tr id以及定義的data數組中的data[1],data[0]作爲參數傳入上面的函數就可以方便的把數據寫入到表格中了。效果如下:
至於json對象,我們只需要將函數中的data[i]換成data.name以對象的形式取值即可。