我是靠谱客的博主 老实麦片,最近开发中收集的这篇文章主要介绍json转换为java对象多传属性问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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对象多传属性问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部