public class HttpException extends IOException {
public int code; @JSONField(name = "message") public String detail; public HttpException() { }
}
使用JSON.parseObject()方法解析{"code":500, "message":"sfsffdff"}时无法正确解析。
ifmq2ha21#
我使用1.2.35最新版本做了实验。调用方式为:JSON.parseObject("{"code":500, "message":"sfsffdff"}", HttpException.class)1.如果调用类跟HttpException类是不是内部类的关系,则解析正确。2.如果HttpException是调用类的静态内部类,则解析正确。3.如果HttpException是调用类的非静态内部类,则解析失败,抛出异常
Can not set int field com.meituan.test.TestJSON$HttpException.code to java.lang.Exception原因是HttpException类继承自Exception,最后会通过ThrowableDeserializer进行反序列化,由于内部类的关系,会直接变为初始化Exception对象,因此报错。
Can not set int field com.meituan.test.TestJSON$HttpException.code to java.lang.Exception
jucafojl2#
我用的是1.1.56.android版本,HttpException不是调用类的内部类,
qco9c6ql3#
我测试使用的不是android版, 还是等高手来解答吧
ibps3vxo4#
谢谢啦,已经很厉害啦
4条答案
按热度按时间ifmq2ha21#
我使用1.2.35最新版本做了实验。
调用方式为:JSON.parseObject("{"code":500, "message":"sfsffdff"}", HttpException.class)
1.如果调用类跟HttpException类是不是内部类的关系,则解析正确。
2.如果HttpException是调用类的静态内部类,则解析正确。
3.如果HttpException是调用类的非静态内部类,则解析失败,抛出异常
Can not set int field com.meituan.test.TestJSON$HttpException.code to java.lang.Exception
原因是HttpException类继承自Exception,最后会通过ThrowableDeserializer进行反序列化,由于内部类的关系,会直接变为初始化Exception对象,因此报错。
jucafojl2#
我用的是1.1.56.android版本,HttpException不是调用类的内部类,
qco9c6ql3#
我测试使用的不是android版, 还是等高手来解答吧
ibps3vxo4#
谢谢啦,已经很厉害啦