使用两个方法的 return 值发送 JSON 响应
send JSON response with two method's return values
我有这个方法来使用 JSON 字符串我在这里得到两个 return values.The 首先从 insertData
方法,它是整数 201
或 208
和 getStopRoute
的第二个值是 ArrayList。在这种情况下,我如何 return 泽西岛中的两个值与 JSON?
@Path("/data")
public class Receiver {
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response storeData(Data data) {
String macD = data.getMac();
int routeD = data.getRoute();
double latD = data.getLatitude();
double longD = data.getLongitude();
Database db = new Database();
int status = db.insertData(macD, routeD, latD, longD); // return 201 or 208
ArrayList<Integer> route_number = db.getStopRoute(latD, longD); //return [1,9,3]
return Response.status(status).build();
}
}
JSON 依赖关系:
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.16</version>
</dependency>
请考虑这样做:
1.代码
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response storeData(Data data) {
String macD = data.getMac();
int routeD = data.getRoute();
double latD = data.getLatitude();
double longD = data.getLongitude();
Database db = new Database();
//inserted by jean
SDBean bean= new SDBean();
bean.status = db.insertData(macD, routeD, latD, longD);
bean.routes= db.getStopRoute(latD, longD); //return [1,9,3]
return Response.status(bean.status).entity(bean.toJson()).build();
}
//inserted by jean
public class SDBean{
public int status;
//@Expose
public ArrayList<Integer> routes;
public String toJson(){
//if you use jackson
ObjectMapper mapper = new ObjectMapper();
String json =null;
try {
json = mapper.writeValueAsString(this);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return json;
}
尽情享受吧:)
我有这个方法来使用 JSON 字符串我在这里得到两个 return values.The 首先从 insertData
方法,它是整数 201
或 208
和 getStopRoute
的第二个值是 ArrayList。在这种情况下,我如何 return 泽西岛中的两个值与 JSON?
@Path("/data")
public class Receiver {
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response storeData(Data data) {
String macD = data.getMac();
int routeD = data.getRoute();
double latD = data.getLatitude();
double longD = data.getLongitude();
Database db = new Database();
int status = db.insertData(macD, routeD, latD, longD); // return 201 or 208
ArrayList<Integer> route_number = db.getStopRoute(latD, longD); //return [1,9,3]
return Response.status(status).build();
}
}
JSON 依赖关系:
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.16</version>
</dependency>
请考虑这样做:
1.代码
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response storeData(Data data) {
String macD = data.getMac();
int routeD = data.getRoute();
double latD = data.getLatitude();
double longD = data.getLongitude();
Database db = new Database();
//inserted by jean
SDBean bean= new SDBean();
bean.status = db.insertData(macD, routeD, latD, longD);
bean.routes= db.getStopRoute(latD, longD); //return [1,9,3]
return Response.status(bean.status).entity(bean.toJson()).build();
}
//inserted by jean
public class SDBean{
public int status;
//@Expose
public ArrayList<Integer> routes;
public String toJson(){
//if you use jackson
ObjectMapper mapper = new ObjectMapper();
String json =null;
try {
json = mapper.writeValueAsString(this);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return json;
}
尽情享受吧:)