最近用gson解析網(wǎng)絡(luò)接口返回的數(shù)據(jù)臂拓,本來想寫一個(gè)類來接收數(shù)據(jù)的,如下
{status:0,msg:xxx,data:"{a:xx,b:xxx}"}
于是我寫了一個(gè)類來解析這個(gè)response
class response
{
int status;
String msg;
String data;
}
然后就報(bào)錯(cuò)了:
##java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column...
最后發(fā)現(xiàn)是gson遇到{}或者[]的時(shí)候习寸,會(huì)將這個(gè)字符串妝花位對(duì)象胶惰,用一個(gè)String類型來接收是不行的。
解決方案
根據(jù)data的具體格式霞溪,再寫一個(gè)對(duì)應(yīng)的解析子類童番。