2015-03-03 4 views
0
MappingJackson2HttpMessageConverter objConverter = new MappingJackson2HttpMessageConverter(); 
ObjectMapper objMapper = new ObjectMapper(); 
objMapper.setVisibility(PropertyAccessor.FIELD, Visibility.NONE); 
objMapper.getSerializationConfig().withView(View.class); 
objConverter.setObjectMapper(objMapper); 
objConverter.getObjectMapper().getSerializationConfig().withView(View.class); 

послеfasterxml джексон ObjectMapping установлен класс @JsonView не работает

objMapper.getSerializationConfig() 

имеет различные ссылки, чем SerializationConfig созданный с помощью метода (..).withView(..)

Это вид, как будто новый SerializationConfig не применяется к objMapper

Горячая, чтобы решить эту проблему? Также мои аннотации @JsonView не работают.

fasterxml.jackson 2.3.0

+0

Оставьте вкладки форматирования, которые здесь не работают. Также встроенный код backquote для увеличения визуального распознавания кода. Читаемость увеличивает вероятность того, что кто-то поймет вашу проблему и, следовательно, ответ. – Anthon

+0

Возможно, этот вопрос поможет вам: http://stackoverflow.com/a/21054896/4576054 –

ответ

0

на основе связанного ответа на Javier Molla:

Вы должны использовать .configure() на вашем ObjectMapper и предпочтительно использовать повторно картографа.

final ObjectMapper mapper = new ObjectMapper(); 
mapper.configure(SerializationFeature.INDENT_OUTPUT, true); 
mapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false); 
mapper.configure(SerializationFeature.WRITE_EMPTY_JSON_ARRAYS, false); 
mapper.setSerializationInclusion(Include.NON_NULL); 

Вы можете поместить функции сериализации в статический блок и повторно использовать mapper => повышение производительности.

Смежные вопросы