Feign远程调用接口时报:Can not deserialize instance of java.util.ArrayList out of START_OBJECT token解决方案

原因一,是远程客户端返回的数据类型与接收类型不一致。单数据类型无法返回复杂的数据类型。

这里的关键词是ArrayListSTART_OBJECT标记您不能将单个对象反序列化为对象数组。试着理解这一点,你就会明白为什么。

您只能将一 JSON对象反序列化为一个数组或POJO集合。请注意,虽然JSON对象由{ }大括号分隔,但数组由[ ]括号分隔,其中包含一些对象。

因此,首先你先认真检查两个服务接口返回类型是否一致。我是因为这个原因,对方自己把接口改了,所以我不知道没检查,一直在纠结这个错误。因此写此博客目的:是提醒大家先检查数据对象类型是否一致,再去解决转换方式或把数据类型更改一直即可。

原因二,就是网上说的其他几个解决方案:这里就不叙述了,请看https://blog.csdn.net/yinjayhui123/article/details/45196843

                                                                                  以及错误分析:https://stackoverflow.com/questions/24709643/jackson-jsonmappingexception-can-not-deserialize-instance

你可能感兴趣的:(springcloud)