Voici une façon de résoudre votre problème sans avoir à créer le mappeur et, en plus, vous avez un contrôle total sur la réponse :
@POST
@Path("/{sensor_id: [0-9]+}/data")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response getSensorsDataById(@PathParam("domain_name") ... ) {
...
List<DBObject> fields = Lists.newArrayList(output.results());
JSONArray json = new JSONArray();
for (DBObject field : fields) {
JSONObject joField = new JSONObject(field.toString());
json.put(joField);
}
return Response.ok().entity(json.toString()).build();
}