我正试图用HTML显示一个JSON数组,该数组是我从Jersey得到的响应。
我得到的JSON数组如下:
{"balance":
[
{"Group":"new","balance":" 10","description":"Cost vehicles"},
{"Group":"new","balance":"677","description":"Motor vehicles"}
]
}
如何在HTML中将这种JSON显示为表?
资源方法如下:
@GET
@Produces("application/json")
@Path("/view")
public ArrayList<BalanceSheet> viewBalanceSheet(){
ArrayList <BalanceSheet> balanceList=BalanceSheetService.getBalanceSheet();
return balanceList;
}
如果您使用jQuery/Ajax进行调用,您可以执行以下操作:
HTML
<table id="your-table">
<thead>
<tr>
<td>Name</td><td>Group</td><td>Balance</td><td>Description</td>
</tr>
</thead>
<tbody>
</tbody>
</table>
jQuery
$.getJSON('rest/service/view', function (data) {
$.each(data, function (k, arr) {
$('#your-table tbody').append('<tr><td>' + k + '</td><td>' + arr.Group + '</td><td>' + arr.balance + '</td><td>' + arr.description + '</td></tr>');
});
});
希望这能有所帮助。如果我离基地很远,请告诉我。
使用jQuery,您可以执行以下操作:
HTML:
<table>
<tr></tr>
</table>
jQuery代码(它计算json数组中的哈希数):
var heads = yourJson.ballance[0];
for (colHead in heads) {
$('table tr:first-child').append('<th>').html(col);
}
for (var i=0; i<yourJson.ballance.length; i++) {
var row = yourJson.ballance[i];
for (col in row) {
$('table').append('<tr>').append('<td>').html( row[col] );
}
}