[英]Jersey webservice returning a null JSON
我想將數據庫表的數據發送到客戶端。 我正在通過JSON發送數據。 當我在客戶端打印輸出結果時,它給出以下結果。
{"pricing":null}
當我在服務器端打印return語句時,它輸出以下內容
[Connection.Pricing@3d5bae2]
沒有錯誤。 我做錯了什么?
這是我的客戶端代碼
public String loadTable(String tablename) throws ClientProtocolException, IOException {
pathParams.add("tablename", tablename);
ClientResponse response = service.path("access").path("loadtable").queryParams(pathParams).type(MediaType.APPLICATION_JSON).get(ClientResponse.class);
String responseString = response.getEntity(String.class);
return responseString;
這是我的服務器端
@Path("/loadtable")
@GET
@Produces(MediaType.APPLICATION_JSON)
public List<Pricing> loadTable(@QueryParam("tablename") String tablename) throws Exception {
List<Pricing> pricing = new ArrayList<Pricing>();
try {
query = c.prepareStatement("select * from " + tablename);
ResultSet ets_rs = query.executeQuery();
while (ets_rs.next()) {
pricing.add(new Pricing(ets_rs.getString(1), ets_rs.getString(2), ets_rs.getString(3), ets_rs.getString(4), ets_rs.getString(5), ets_rs.getString(6)));
}
query.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (c != null) {
c.close();
}
}
return pricing;
這是我在服務器端的POJO類
@XmlRootElement
class Pricing {
String category;
String lower_limit;
String class_no;
String value;
String employee;
String upper_limit;
public Pricing() {
}
Pricing(String a, String b, String c, String d, String e, String f) {
category = a;
lower_limit = b;
upper_limit = c;
class_no = d;
value = e;
employee = f;
}
//getters
}
您需要在Pricing
類中重寫toString
方法,以精美的方式打印對象。 默認的toString
()方法顯示對象類及其哈希碼,用@
字符分隔,因此您會看到
Pricing@3d5bae2
這是Pricing
類的toString
方法的一種實現:
@Override
public String toString() {
return "Pricing [category=" + category + ", lower_limit=" + lower_limit
+ ", class_no=" + class_no + ", value=" + value + ", employee="
+ employee + ", upper_limit=" + upper_limit + "]";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.