我想做的建议是here,即:
objectMapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
不幸的是,我的应用程序的Json映射完全用xml完成,如下所示:
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="contentNegotiationManager" ref="contentNegotiationManager"/>
<property name="defaultViews">
<list>
<bean name="jsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"/>
</list>
</property>
</bean>
我不需要自定义的ObjectMapper,我只想设置MappingJackson2JsonView使用的默认ObjectMapper的可见性。
有没有办法做到这一点?
答案 0 :(得分:1)
您无法更改ObjectMapper
使用的默认MappingJackson2JsonView
。它存储在private
字段中,并且不存在修改对象的方法。
但是,您可以声明自己的ObjectMapper
bean并使用MappingJackson2JsonView#setObjectMapper(ObjectMapper)
让View
使用您的自定义ObjectMapper
bean。