1

私はjQueryとJSONに非常に慣れていません。htmlテーブルtbodyにデータを入力するには、次の形式のJSONを解析する必要があります。

{"response":[["name0","id0","amt0"],["name1","id1","amt1"]]}

しかし、それらにアクセスする方法がわからないので、次の方法でhtmlテーブルを取得します。

header1 header2 header3
name0   id0     amt0
name1   id1     amt1
4

3 に答える 3

9

テストされていませんが、次のようになります。

var jsondata=$.parseJSON('{"response":[["name0","id0","amt0"],["name1","id1","amt1"]]}');

$.each(jsondata.response, function(i, d) {
   var row='<tr>';
   $.each(d, function(j, e) {
      row+='<td>'+e+'</td>';
   });
   row+='</tr>';
   $('#table tbody').append(row);
});
于 2012-10-02T16:17:17.100 に答える
1

jsonToHtmlTable(jsonObj, '#records');HTML に続いて呼び出す(例: ドキュメントの準備ができている場合)

HTML

<table id="records">
    <thead>
        <tr></tr>
    </thead>
    <tbody></tbody>
</table>

JavaScript

//Sample JSON Object (array of json objects)
var jsonObj = [{"a":1,"b":3,"ds":4},{"a":2,"b":5,"ds":4}];

//Use
$(document).ready(function(){
     jsonToHtmlTable(jsonObj, '#records');
});

//implementation
function jsonToHtmlTable(jsonObj, selector) {
    addColumns(jsonObj, selector);
    addRows(jsonObj, selector);
}

function addColumns(jsonObj, selector) {
    if (!$.isArray(jsonObj) || jsonObj.length < 1)
        return;
    var object = jsonObj[0];
    var theadHtml = "";
    for (var property in object) {
        if (object.hasOwnProperty(property))
            theadHtml += "<th>" + property + "</th>";
    }
    $(selector + ' thead tr').html(theadHtml);
}

function addRows(jsonObj, selector) {
    var tbody = $(selector + ' tbody');
    $.each(jsonObj, function (i, d) {
        var row = '<tr>';
        $.each(d, function (j, e) {
            row += '<td>' + e + '</td>';
        });
        row += '</tr>';
        tbody.append(row);
    });
}
于 2015-08-04T13:12:41.593 に答える
0

次の Javascript 式を使用して JSON 構造にアクセスできます。

var matrix = {"response":[["name0","id0","amt0"],["name1","id1","amt1"]]};

i 番目の要素の j 番目の列には、次のようにアクセスできます。

matrix.response[i][j]
于 2012-10-02T16:17:10.047 に答える