org.springframework.data.redis.serializer.SerializationException: Could not read JSON: Unrecognized field
原因:對象中如果有setXXX
或getXXX
方法,或返回值為Boolean
或boolean
的isXXX
方法,但沒有對應(yīng)的XXX
字段,使用Jackson2JsonRedisSerializer
序列化后json中會有對應(yīng)的key值XXX
,從而會導(dǎo)致反序列化失敗。
解決辦法:在類加上注解@JsonIgnoreProperties(ignoreUnknown = true)
忽略實體中沒有對應(yīng)的json的key值,或者在set、get或is開頭的方法上加上@JsonIgnore
注解。文章來源:http://www.zghlxwxcb.cn/news/detail-491284.html
代碼定位:(第一次序列化時調(diào)用,后續(xù)從緩存中取)
DefaultValueOperations 235 set
AbstractOperations 127 rawValue
org.springframework.data.redis.serilizer.Jackson2JsonRedisSerializer 86 serilizer
com.fasterxml.jackson.databind.ObjectMapper 3428 writeValueAsBytes
ObjectMapper 4094 _configAndWriteValue
DefaultSerializerProvider 308 serializeValue
SerializerProvider 713 findTypedValueSerializer
SerializerProvider 510 findValueSerializer
SerializerProvider 1336 _createAndCacheUntypedSerializer 此處將序列化器加入緩存
SerializerProvider 1388 _createUntypedSerializer
BeanSerializerFactory 165 createSerializer
BeanSerializerFactory 216 _createSerializer2
BasicSerializerFactory 346 findSerializerByAnnotations
BasicBeanDescription findJsonValueAccessor 252
POJOPropertiesCollector getJsonValueAccessor 196
POJOPropertiesCollector collectAll() 309
POJOPropertiesCollector _addMethods 533
POJOPropertiesCollector _addGetterMethod 583、586
BeanUtil okNameForRegularGetter 38
BeanUtil okNameForIsGetter 69文章來源地址http://www.zghlxwxcb.cn/news/detail-491284.html
到了這里,關(guān)于SerializationException: Could not read JSON: Unrecognized field的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!