如何將json字符串寫入table表格中

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。可以方便的將後臺複雜的數據帶回到前臺進行展示,那麼如何把json字符串寫入到table表格之中呢?

json簡單說就是javascript中的對象和數組,所以這兩種結構就是對象和數組兩種結構,通過這兩種結構可以表示各種複雜的結構
1、對象:對象在js中表示爲“{}”擴起來的內容,數據結構爲 {key:value,key:value,...}的鍵值對的結構,在面向對象的語言中,key爲對象的屬性,value爲對應的屬性值,所以很容易理解,取值方法爲 對象.key 獲取屬性值,這個屬性值的類型可以是 數字、字符串、數組、對象幾種。
2、數組:數組在js中是中括號“[]”擴起來的內容,數據結構爲 ["java","javascript","vb",...],取值方式和所有語言中一樣,使用索引獲取,字段值的類型可以是 數字、字符串、數組、對象幾種。
經過對象、數組2種結構就可以組合成複雜的數據結構了。<引自百度百科>
下面以數組結構爲例,簡單介紹一下如何把數據寫入表格。
假設我們從後臺取回的數據是這樣的:
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以對象的形式取值即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章