Làm cách nào để JAXB giữ lại các giá trị rỗng khi nhận được một cú pháp JSON chứa giá trị null hoặc "".JAX-RS Jersey JSON bảo toàn null bằng cách sử dụng chú thích
String: {"id":null,"fname":"John","region":""}
lợi nhuận Object:
Person {
Integer id = 0
String fname = "John"
Region regions = 0 }
Tôi muốn nó để trở về null thay vì 0
Dưới đây là những gì tôi có cho đến nay:
@Provider
public class JAXBContextResolver implements ContextResolver<JAXBContext> {
private JAXBContext context;
private Class<?>[] types = {Person.class};
public JAXBContextResolver() throws Exception {
this.context = new JSONJAXBContext(JSONConfiguration.natural().build(), types);
}
public JAXBContext getContext(Class<?> objectType) {
for (Class<?> c : types) {
if (c.equals(objectType)) {
return context;
}
}
return null;
}
}
Person.class được chú thích với @XmlRootElement
Tôi đã thử tìm kiếm vào các chú thích của Jackson nhưng không thành công.
Cùng một vấn đề ở đây. Ai đó có một giải pháp cho vấn đề này. ObjectMapper dường như cũng bị bỏ qua bởi Jersey – keatch
Cùng một vấn đề. Tôi cũng đã cố gắng sử dụng ObjectMapper và Jersey không thể nhặt nó lên là tốt.Tôi không chắc chắn rằng việc sử dụng ObjectMapper là giải pháp đơn giản nhất ... – Oleksi
Sự cố tương tự của tôi đã được giải quyết. Bạn có thể xem liệu nó có giúp bạn ... http: //stackoverflow.com/questions/10420641/including-null-elements-in-json-output-of-jersey-restful-api-with-jaxb – Oleksi