【bug解决】java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING
  TEZNKK3IfmPf 2023年11月14日 70 0

一,项目场景:

如下图,在传输过程中报错。解决方法如下:

【bug解决】java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING

二,问题描述

java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING

三,原因分析:

原因是Json解析的错误。报错位置为:

将json字符串转换成UserBean对象

results对应的应该是一个实体类,如果这个时候想把他解析为String或者List就会出现异常。

原因归根结底接受JSON的格式错误,我初步怀疑为编码格式,因为之前我的电脑在utf-8和GBK格式来回切换,给编译器干歇菜了,结果不是编码格式传输问题。

检查JSON数据规范即可。

四,解决方案:

这里的问题是:

用户端解释有json格式转换。将user对象转换成字符串,结果,服务端这边传输格式为String,所以,理所当然的报错了。

主要的还是检查JSON格式,规范等。

解决代码如下:

Gson gson=new Gson();
String data=gson.toJson(user);//将user对象转换成字符串
System.out.println("json字符串:"+data);

json字符串:{“username”:“2”,“password”:“5”}

再次传输,成功解决。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月17日   54   0   0 json
  TEZNKK3IfmPf   2024年04月26日   42   0   0 json
  TEZNKK3IfmPf   2024年04月26日   35   0   0 序列化json
  TEZNKK3IfmPf   2024年04月19日   52   0   0 javajson
  TEZNKK3IfmPf   2024年05月17日   50   0   0 jsonmysql
TEZNKK3IfmPf