Anonymous
Java REST API возвращает JSON из строки
Сообщение
Anonymous » 13 окт 2024, 18:03
У меня есть JSON, хранящийся в моей базе данных, я хочу вернуть этот JSON в том виде, в каком он есть в службе получения jax-rs, без использования POJO. Есть ли способ сделать это? Я попытался просто установить его в строку, но результат экранируется. Я также попытался вернуть JSONObject, но получил сообщение «org.codehaus.jackson.map.JsonMappingException: сериализатор не найден для класса org.json.JSONObject», поэтому, думаю, я не могу использовать этот тип объекта. Наконец я использовал JSONNode, и он вернул мои данные следующим образом:
Код: Выделить всё
{
"nodeType": "OBJECT",
"int": false,
"object": true,
"valueNode": false,
"missingNode": false,
"containerNode": true,
"pojo": false,
"number": false,
"integralNumber": false,
"floatingPointNumber": false,
"short": false,
"long": false,
"double": false,
"bigDecimal": false,
"bigInteger": false,
"textual": false,
"boolean": false,
"binary": false,
"null": false,
"float": false,
"array": false
}
Код.
Код: Выделить всё
@GET
@Path("/campanas")
public Response obtenerCampanas(@HeaderParam("Authorization") String sessionId) {
ResponseBase response = new ResponseBase();
int requestStatus = 200;
CampanaResponse campanaResponse = campanasFacade.obtenerCampanas();
response.setData(campanaResponse);
response.setRequestInfo(GlosaCodigoRequest.OPERACION_EXITOSA);
return Response.status(requestStatus).entity(response).build();
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "Campanas")
public class CampanaResponse implements Serializable {
private static final long serialVersionUID = -7414170846816649055L;
@XmlElement(name = "campanas", required = true)
private List campanas;
@XmlElement(name = "fecha", required = true)
private Date fecha;
//getters.. setters
public static class Campana {
private String idCampana;
private String nombre;
private String urlBanner;
private String global;
private String numeroCuenta;
private Date fechaDonaciones;
private Date fechaInicio;
private Date fechaFin;
private JSONObject config;
//getters..setters
}
}
Есть ли способ это сделать? Спасибо.
jax-rs, weblogic 12.1.3
Подробнее здесь:
https://stackoverflow.com/questions/327 ... rom-string
1728831800
Anonymous
У меня есть JSON, хранящийся в моей базе данных, я хочу вернуть этот JSON в том виде, в каком он есть в службе получения jax-rs, без использования POJO. Есть ли способ сделать это? Я попытался просто установить его в строку, но результат экранируется. Я также попытался вернуть JSONObject, но получил сообщение «org.codehaus.jackson.map.JsonMappingException: сериализатор не найден для класса org.json.JSONObject», поэтому, думаю, я не могу использовать этот тип объекта. Наконец я использовал JSONNode, и он вернул мои данные следующим образом: [code]{ "nodeType": "OBJECT", "int": false, "object": true, "valueNode": false, "missingNode": false, "containerNode": true, "pojo": false, "number": false, "integralNumber": false, "floatingPointNumber": false, "short": false, "long": false, "double": false, "bigDecimal": false, "bigInteger": false, "textual": false, "boolean": false, "binary": false, "null": false, "float": false, "array": false } [/code] Код. [code]@GET @Path("/campanas") public Response obtenerCampanas(@HeaderParam("Authorization") String sessionId) { ResponseBase response = new ResponseBase(); int requestStatus = 200; CampanaResponse campanaResponse = campanasFacade.obtenerCampanas(); response.setData(campanaResponse); response.setRequestInfo(GlosaCodigoRequest.OPERACION_EXITOSA); return Response.status(requestStatus).entity(response).build(); } @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement(name = "Campanas") public class CampanaResponse implements Serializable { private static final long serialVersionUID = -7414170846816649055L; @XmlElement(name = "campanas", required = true) private List campanas; @XmlElement(name = "fecha", required = true) private Date fecha; //getters.. setters public static class Campana { private String idCampana; private String nombre; private String urlBanner; private String global; private String numeroCuenta; private Date fechaDonaciones; private Date fechaInicio; private Date fechaFin; private JSONObject config; //getters..setters } } [/code] Есть ли способ это сделать? Спасибо. jax-rs, weblogic 12.1.3 Подробнее здесь: [url]https://stackoverflow.com/questions/32726207/java-rest-api-return-json-from-string[/url]