我有這個問題:在我的sql數據庫中,我有一個表Utente與INT類型的主鍵IDUtente並且是自動增量。 在db我:gson和標識符
ID|Name|....
1|Name1|....
2|Name2|....
下的Java servlet我從數據庫中讀取數據
和序列化與GSON數據是這樣的:
Gson gson = new Gson();
String lista = gson.toJson(utenti);
request.setAttribute("lista", lista);
request.getRequestDispatcher("GestioneUtenti.jsp").forward(request, response);
,並在這裏它的確定,因爲該字符串LISTA它的等於:
[{"idUtente":1,"username":"a","password":"a","nome":"a","cognome":"a","dataNascita":"dic 12, 1988","telefono":"3200769667","indirizzo":"a","citta":"a","luogoDiNascita":"a","abbonamentiATempo":0,"abbonamentiAPunti":0,"dataIscrizione":"dic 12, 2000","posizione":"socio","email":"a"},{"idUtente":2,"username":"b","password":"b","nome":"b","cognome":"b","dataNascita":"giu 25, 1960","telefono":"3474213142","indirizzo":"b","citta":"b","luogoDiNascita":"b","abbonamentiATempo":0,"abbonamentiAPunti":0,"dataIscrizione":"mar 11, 2001","posizione":"non socio","email":"b"}]
在我的JSP頁面現在我要反序列化的字符串,我這樣做是這樣的:
<%String lista = (String)request.getAttribute("lista");
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
Type listType = new TypeToken<ArrayList<Utente>>() {}.getType();
ArrayList<Utente> users = gson.fromJson(lista, listType);
for(int i=0;i<users.size();i++){
out.print("<tr>");
out.print("<td>"+users.get(i).getIdUtente()+"</td>");
out.print("<td>"+users.get(i).getNome()+"</td>");
out.print("<td>"+users.get(i).getCognome()+"</td>");
out.print("<td>"+users.get(i).getPosizione()+"</td>");
out.print("<td>"+users.get(i).getTelefono()+"</td>");
}
問題是打印的ID總是等於0!爲什麼? 如果有必要我還會寫我的班級Utente!
您已經驗證過,您可以閱讀JSON數據的示例列表並獲取對提供的條目有效的Utente對象是否正確? –