如何将java Object列表转换为JSON并通过AJAX显示它们

时间:2014-09-02 07:21:50

标签: java jquery ajax json jsp

我有一个java对象的列表,它来自数据库,作为对象的ArrayList。我必须通过ajax在jsp页面中显示。我知道如何通过ajax显示String的arrayList jsp页面,但我必须对对象列表做同样的事情。这就是我为String列表所做的..

List<String> UnUsedStpCodeList=userService.getUnUsedSTPCodeList(100);                   
JSON json = JSONSerializer.toJSON(UnUsedStpCodeList);                   
PrintWriter out = response.getWriter(); 
out.print(json.toString()); 
System.out.println("json:" + json.toString());
response.setContentType("application/json");;

这是我从数据库中获取的字符串列表。

var WindowHeader = "STP CODE LIST";
var htmlContent = $("#dashBoardDetails");
var myTable = "<table>";

$.ajax({
  url: "getDashBoardData.do?method=getUnUsedSTPCode",
  type: 'POST',
  cache: false,
  dataType: 'json',
  data: {
    "storeId": id
  },
  beforeSend: function() {

  },
  success: function(data, textStatus, xhr) {
    $.each(data, function(i, obj) {
      myTable += "<tr><td>" + obj + "</td></tr>";
    });
    myTable += "</table>";
    htmlContent.append(myTable);
    openWindow(WindowHeader);
  },
  error: function(xhr, textStatus, errorThrown) {
    alert('error');
  }
});

这就是我在jsp页面中展示它们的方式。 现在我有了

List<DashboardUserDetailsObject> registeredUserDetailsList = userService.getRegisteredDraftUserList(storeId,status);
JSON json = JSONSerializer.toJSON(registeredUserDetailsList);   
PrintWriter out = response.getWriter(); 
out.print(json.toString()); 

其中registeredUserDetailsList是包含信息的Object列表。
如何通过ajax在jsp页面中显示它们?

1 个答案:

答案 0 :(得分:1)

在javascript中,您可以使用点语法访问对象属性。由于您的json将被解析为javascript对象,您可以执行以下操作:

$.each(data, function(i, obj) {
    myTable += "<tr><td>"+obj.value1+"<//td><td>"+obj.value2+"<//td><//tr>";                                
});

这假设您的对象(r​​egistereduser?)具有属性value1value2