在開(kāi)發(fā)中解析 json 庫(kù)大多會(huì)用到 Gson 庫(kù),大多數(shù)時(shí)候無(wú)往而不利,但是因?yàn)閿?shù)據(jù)的復(fù)雜性不能確定,總還是會(huì)遇到解析失敗的情況。現(xiàn)在將遇到的解析錯(cuò)誤總結(jié),以便以后分析問(wèn)題
GsonFormat 插件解析JSON失敗 -數(shù)據(jù)空
org.json.JSONException: JSONArray[0] not found.
如圖:


GsonFormat 插件不能解析為空的數(shù)據(jù),此時(shí)只要把報(bào)錯(cuò)的空數(shù)組填上對(duì)應(yīng)格式的假數(shù)據(jù)即可,Gson 庫(kù)正常情況下為空也是可以解析的,此時(shí)只是為了能夠生成實(shí)體類
GsonFormat 插件解析JSON失敗 - 變量名為純數(shù)字
數(shù)據(jù)中的變量名為純數(shù)字,GsonFormat插件不會(huì)報(bào)錯(cuò),但是無(wú)法正常生成類。此時(shí)可以改變一下對(duì)應(yīng)的命名規(guī)則,如圖:


Gson 庫(kù)解析數(shù)據(jù)為null
如圖:

如果數(shù)據(jù)是網(wǎng)絡(luò)地址類型,解析的時(shí)候可能無(wú)法正常解析,即使有數(shù)據(jù)也解析為null。此時(shí)可以將數(shù)據(jù)進(jìn)行序列化,將無(wú)法正常解析的數(shù)據(jù)添加注解: @SerializedName
如圖:

~~有問(wèn)題在繼續(xù)更新