Jersey API-REST中的响应mongodb objectDB

Jersey API-REST中的响应mongodb objectDB,mongodb,jersey-2.0,Mongodb,Jersey 2.0,我用Java在Jersey框架中开发了一个API-REST服务器。我收到一个请求,服务器从MongoDB数据库中提取一些信息。然后,它接收到一个列表,我想用相同的列表响应请求,而不需要任何处理 这是我用来响应请求的代码: @POST @路径(“/{sensor_id:[0-9]+}/data”) @使用(MediaType.APPLICATION_JSON) @产生(MediaType.APPLICATION_JSON) 公共列表getSensorsDataById(@PathParam(“域名

我用Java在Jersey框架中开发了一个API-REST服务器。我收到一个请求,服务器从MongoDB数据库中提取一些信息。然后,它接收到一个列表,我想用相同的列表响应请求,而不需要任何处理

这是我用来响应请求的代码:

@POST
@路径(“/{sensor_id:[0-9]+}/data”)
@使用(MediaType.APPLICATION_JSON)
@产生(MediaType.APPLICATION_JSON)
公共列表getSensorsDataById(@PathParam(“域名”)…){
...
列表字段=Lists.newArrayList(output.results());
返回字段;
}
如果我打印MongoDB提供的信息


for(int i=0;i这里有一种方法可以解决您的问题,无需创建映射器,并且作为一个附带好处,您可以完全控制响应:

@POST
@路径(“/{sensor_id:[0-9]+}/data”)
@使用(MediaType.APPLICATION_JSON)
@产生(MediaType.APPLICATION_JSON)
公共响应getSensorsDataById(@PathParam(“域名”)…){
...
列表字段=Lists.newArrayList(output.results());
JSONArray json=新的JSONArray();
for(数据库对象字段:字段){
JSONObject joField=新的JSONObject(field.toString());
json.put(joField);
}
返回Response.ok().entity(json.toString()).build();
}

Igor,上面说你编辑了答案,但我看不出有什么不同。你更改了什么?