FastJSON巨坑01:Exception in thread "OkHttp Dispatcher" java.lang.IllegalStateException: closed
最新推荐文章于 2023-04-05 14:13:23 发布
最新推荐文章于 2023-04-05 14:13:23 发布
报错内容:
expect ‘:’ at 0, actual = com.alibaba.
fastjson
.JSON
Exception
: expect ‘:’ at 0, actual =
该异常为运行时异常,一定不是语法错误。
意思是JSONEObject转换异常,通常为fromObject() 方法位置报错。
检查你代码的 JSONEObject.fromObject(result) 代码位置,参数result不符合Json的定义格式,所以无法转换成Json格式,导致报出上述错误。
解决办法:
好好检查下你的result参数,按照Json规范定义。
如果一定要输出result,可
12-10 11:05:55.176 8754-8796/ndk_demo.cyh.com.
okhttp
3demo E/AndroidRuntime: FATAL
EXCEPTION
:
OkHttp
Dispatcher
出现这个问题的原因简要说一下:
String json=response.body().string();
就是这行代码中.string()方法...
正文开始。今天用
FastJson
的时候遇到一个错误,报错如下:
Exception
in
thread
"main" com.alibaba.
fastjson
.JSON
Exception
: syntax error, expect {, actual ], pos 39
at com.alibaba.
就是这行代码中.string()方法使用次数超过了一次。
反正.string()方法只能使用一次,所以最常见的错误是什么,定义了之后又把它打印出来,当然,打印data是没问题的...
报错提示 E/AndroidRuntime: FATAL
EXCEPTION
:
OkHttp
Dispatcher
java
.
lan
g.
IllegalStateException
:
clo
sed
报错原因 String data=response.body().string();
中.string()方法使用次数超过了一次。
没错,你只能使用一次,至于原因看下面的源码分析。所以讲Log.d(“x
解决
OkHttp
请求回调中response.body().string()只能有效调用一次办法在调用了response.body().string()方法之后,response中的流会被关闭,我们需要创建出一个新的response给应用层处理。不多说直接贴代码: @Override
public Response intercept(Chain chain) throws IOE
原因是流已经关闭,所以无法再进行操作。
OkHttp
请求回调中response.body().string()只能有效调用一次,调用response.body().string()的时候数据流已经关闭了,再次调用就是提示已经
clo
sed
。
在实际开发中,响应主体 RessponseBody 持有的资源可能会很大,所以
OkHttp
并不会将其直接保存到内
Exception
in
thread
"main"
java
.
lan
g.IllegalArgument
Exception
: Comparison method violates its general contract!解决方法
目前发现问题
Exception
in
thread
"Timer-0"
java
.
lan
g.NoClassDefFoundError: org/hibernate/Session
Cau
sed
by:
java
.
lan
g.ClassNotFound
Exception
: org.hibernate.Session
是因为使用了SpringSource Tool Suite该IDE工具出现...
错误类型大致为以下几种:
java
.
lan
g.
IllegalStateException
:Cannot forward a response that is already committed
IllegalStateException
:response already commited
IllegalStateExcept...