我正在使用Jersey框架构建RESTful Web服务。
我将返回一个包含多个JSONObject的ArrayList作为响应。
但我的查询是,我想在jsonObject之前添加数组名。
我得到这个输出:
[
{
"p1": "1",
"p2": "AM",
"p3": "Bad"
},
{
"p1": "2",
"p2": "PM",
"p3": "Good"
}
]
但我期待(需要)这个:
{
"result": [ {
"p1": "1",
"p2": "AM",
"p3": "Bad"
},
{
"p1": "2",
"p2": "PM",
"p3": "Good"
}
]
}
这是我的代码:
这是我的对象类,我在其中设置getter和setter来存储对象中的值。
public class Order implements Serializable{
public Order() {
}
public Order(int id, String officialname, String contact_no) {
this.p1 = p1;
this.p2 = p2;
this.p3 = p3;
}
public int getp1() {
return p1;
}
public void setp1(int p1) {
this.p1 = p1;
}
public int getp2() {
return p2;
}
public void setp2(int p2) {
this.p2 = p2;
}
}
在orderDAO中,我正在设置连接参数和方法,以便将结果值存储在arraylist中。
OrthoDo.java
public class OrderDao {
Connection conm=null;
ResultSet rs = null;
Statement statement = null;
public List<Order> getAll() {
List<Order> order = null;
try{
conm= DBconnect.connectToDB();
statement=conm.createStatement();
rs=statement.executeQuery("SELECT * FROM `order`");
order = new ArrayList<>();
while (rs.next()) {
int p1 = rs.getString(1);
String p2 = rs.getString(2);
String p3 = rs.getString(3);
order.add(new Order(p1,p2,p3));
}
rs.close();
statement.close();
conm.close();
}catch(Exception e){
e.printStackTrace();
}
return order;
}
}
这是我的服务调用,我使用@get http方法实际返回结果集
OrderDao orderDao = new OrderDao();
@GET
@Path("/users")
@Produces(MediaType.APPLICATION_JSON)
public List<Order> getAll() {
return orderDao.getAll();
}