![](/img/trans.png)
[英]How to store sql resultset fields in to a separate array variable using java?
[英]How to create JSON Array using two fields from a ResultSet?
我想生成一個對象的ArrayList,使其成為jquery UI自動完成的源。 但是,如果我在條目中擺弄其他值,則我的以下功能會引發錯誤
public ArrayList getUserData()
{
ArrayList buffer = new ArrayList();
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/chbs?" + "user=root&password=xxx");
Statement stmt=conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from users");
while(rs.next())
{
buffer.add('"{' + rs.getString("users.Employee_ID") + '"' + rs.getString("users.Employee_Name") + '}"');
}
return buffer;
}
catch (Exception e) {
e.printStackTrace();
}
return buffer;
}
我想要這樣的結果
data = [
{
empid:"xyz111",
empName:"Hello"
},
{
empid:"xyz222",
empName:"Hi"
}
];
但是,我越來越
data = ["xyz111"Hello","xyz222"Hi"];
IMO,手動操作/構造JSON不是一個好主意。 相反,您應該利用Jackson之類的庫來完成這項工作。
您得到的只是串聯的String
,它已添加到List
。 現在,要獲得期望的結果,您需要創建一個POJO類,該類將保存empid
和empName
。 然后,創建此對象的列表,並將其傳遞給ObjectMapper
。
范例:
ObjectMapper mapper = new ObjectMapper();
List<Employee> empList = new ArrayList<>();
while(rs.next())
{
Employee emp = new Employee();
emp.setEmpId(Integer.parseInt(rs.getString("users.Employee_ID")));
emp.setEmpName(rs.getString("users.Employee_Name"));
empList.add(emp);
}
//Object to JSON in String
String jsonInString = mapper.writeValueAsString(empList);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.