以HTML格式显示JSON对象数组作为Jersey的响应

时间:2015-03-02 18:36:24

标签: java jquery json jersey

我正在尝试在HTML中显示一个JSON数组,我得到了泽西岛的回复。

我按照以下方式获取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;
}

2 个答案:

答案 0 :(得分:0)

如果您使用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>');
    });
});

希望这会有所帮助。如果我离这里不远,请告诉我。

答案 1 :(得分:0)

使用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] );
   }
}