原因一,是远程客户端返回的数据类型与接收类型不一致。单数据类型无法返回复杂的数据类型。
这里的关键词是ArrayList和START_OBJECT标记。您不能将单个对象反序列化为对象数组。试着理解这一点,你就会明白为什么。
您只能将一组 JSON对象反序列化为一个数组或POJO集合。请注意,虽然JSON对象由{ }
大括号分隔,但数组由[ ]
括号分隔,其中包含一些对象。
因此,首先你先认真检查两个服务接口返回类型是否一致。我是因为这个原因,对方自己把接口改了,所以我不知道没检查,一直在纠结这个错误。因此写此博客目的:是提醒大家先检查数据对象类型是否一致,再去解决转换方式或把数据类型更改一直即可。
原因二,就是网上说的其他几个解决方案:这里就不叙述了,请看https://blog.csdn.net/yinjayhui123/article/details/45196843