概述
Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "beginTime1" (class com.TestController$TimeInfo), not marked as ignorable (one known property: "beginTime"])
at [Source: org.springframework.mock.web.DelegatingServletInputStream@673a3a01; line: 1, column: 25] (through reference chain: com.TimeInfo["beginTime1"])
前台json多传beginTime1属性,但是java类型没有此属性
js传递如下
"{"beginTime1":1000000000}"
java对象如下
public class TimeInfo {
private Timestamp beginTime;
public Timestamp getBeginTime() {
return beginTime;
}
public void setBeginTime(Timestamp beginTime) {
this.beginTime = beginTime;
}
}
转换时会报如上错误,原因是默认的json转换时FAIL_ON_UNKNOWN_PROPERTIES=true没有属性会报错,可以通过配置更改
<!-- 启动springMVC注解功能 -->
<mvc:annotation-driven enable-matrix-variables="true">
<mvc:message-converters register-defaults="false">
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper" ref="dataObjectMapper">
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
<bean name="dataObjectMapper" class="com.fasterxml.jackson.databind.ObjectMapper">
<property name="serializationInclusion">
<value type="com.fasterxml.jackson.annotation.JsonInclude$Include">NON_NULL</value>
</property>
</bean>
<bean
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetObject" ref="dataObjectMapper" />
<property name="targetMethod" value="configure" />
<property name="arguments">
<list>
<value type="com.fasterxml.jackson.databind.DeserializationFeature">FAIL_ON_UNKNOWN_PROPERTIES</value>
<value>false</value>
</list>
</property>
</bean>
最后
以上就是老实麦片为你收集整理的json转换为java对象多传属性问题的全部内容,希望文章能够帮你解决json转换为java对象多传属性问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复