No serializer found for class cn.hutool.json.JSONNull and no properties discovered to create

阅读: 评论:0

No serializer found for class cn.hutool.json.JSONNull and no properties discovered to create

No serializer found for class cn.hutool.json.JSONNull and no properties discovered to create

问题记录:

调用第三方接口进行json解析时出现了:No serializer found for class cn.hutool.json.JSONNull and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: istmon.api.vo.Result[“data”]->cn.hutool.json.JSONObject[“data”]->cn.hutool.json.JSONObject[“vehicle_list”]->cn.hutool.json.JSONArray[0]->cn.hutool.json.JSONObject[“vehicle_std_item”]->cn.hutool.json.JSONArray[0]->cn.hutool.json.JSONObject[“desc”])

http-nio-9003-exec-5           20230802 20:20:40.025 ERROR traceId=[] org.ContainerBase.[Tomcat].[localhost].[/logistics].[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [/logistics] threw exception [Request processing failed; nested exception is org.verter.HttpMessageConversionException: Type definition error: [simple type, class cn.hutool.json.JSONNull]; nested exception is com.fasterxml.InvalidDefinitionException: No serializer found for class cn.hutool.json.JSONNull and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: istmon.api.vo.Result["data"]->cn.hutool.json.JSONObject["data"]->cn.hutool.json.JSONObject["vehicle_list"]->cn.hutool.json.JSONArray[0]->cn.hutool.json.JSONObject["vehicle_std_item"]->cn.hutool.json.JSONArray[0]->cn.hutool.json.JSONObject["desc"])] with root cause
com.fasterxml.InvalidDefinitionException: No serializer found for class cn.hutool.json.JSONNull and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: istmon.api.vo.Result["data"]->cn.hutool.json.JSONObject["data"]->cn.hutool.json.JSONObject["vehicle_list"]->cn.hutool.json.JSONArray[0]->cn.hutool.json.JSONObject["vehicle_std_item"]->cn.hutool.json.JSONArray[0]->cn.hutool.json.JSONObject["desc"])at com.fasterxml.InvalidDefinitionException.from(InvalidDefinitionException.java:77)at com.fasterxml.jackson.portBadDefinition(SerializerProvider.java:1277)at com.fasterxml.jackson.portBadDefinition(DatabindContext.java:400)at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.failForEmpty(UnknownSerializer.java:71)at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.serialize(UnknownSerializer.java:33)at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:726)at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeWithoutTypeInfo(MapSerializer.java:681)at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:637)at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:33)at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119)at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79)

我使用的代码是:

 JSONObject jsonObject = JSONUtil.parseObj(post);

解释:

Hutool会使用JSONNull来表示空值,而SpringBoot默认使用的序列化是Jackson,在接口调用过程中使用了Map,直接传入了Hutool的JSONObject,而该Map存在空值,所以存在JSONNull,最终导致错误。

修改:

使用 com.alibaba.fastjson 来解析:

com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSONObject.parseObject(gpString);

本文发布于:2024-01-28 12:41:19,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064168847491.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:cn   hutool   serializer   class   json
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23