我正在尝试使用JAX-RS(RestEasy)编写MessageBodyReader。然后想要将映射器转换为JSONObject,此时我正在使用org.json.JSONObject来实现此目的。
JAX-RS本身对JSONObject有任何替代方法吗?
答案 0 :(得分:1)
JAX-RS没有定义任何特定的JSON [de]序列化库。
但是,在实施MessageBodyReader
的库中,您应该找到一些使用jackson的库。您可以使用jackson的ObjectMapper
作为MessageBodyReader
的json反序列化器。
一个天真的实现看起来像:
MessageBodyReader mr = new MessageBodyReader() {
ObjectMapper mapper = new ObjectMapper();
@Override
public Object readFrom(
Class type, Type genericType,
Annotation[] annotations, MediaType mediaType, MultivaluedMap httpHeaders,
InputStream entityStream) throws IOException, WebApplicationException
{
return mapper.readValue(entityStream, type);
}
@Override
public boolean isReadable(Class type, Type genericType, Annotation[] annotations, MediaType mediaType) {
return true;
}
};