在使用Gson解析json數(shù)據(jù)的時候,有時候會出現(xiàn)返回空的情況。這種情況的原因有很多,下面我們來逐一分析。
Gson gson = new Gson(); T result = gson.fromJson(jsonStr, T.class);
第一種情況是jsonStr中沒有數(shù)據(jù)。這種情況比較容易發(fā)現(xiàn),我們可以在程序中打斷點,查看jsonStr的值是否為空。
Gson gson = new Gson(); T result = gson.fromJson("", T.class); // jsonStr為空字符串
第二種情況是jsonStr中的數(shù)據(jù)格式不正確。這種情況很常見,我們可以通過在瀏覽器中校驗json格式,來找到問題所在。
Gson gson = new Gson(); T result = gson.fromJson("{name:Tom,age:18}", T.class); // jsonStr格式錯誤
第三種情況是jsonStr中的數(shù)據(jù)格式和T.class中的字段不匹配。這種情況可以通過查看T.class中字段的名稱和jsonStr中的數(shù)據(jù)是否一致來解決。
public class Student { private String name; private int age; // getters and setters } Gson gson = new Gson(); String jsonStr = "{\"name\":\"Tom\",\"age\":\"18\"}"; // age是字符串類型,而非int類型 Student student = gson.fromJson(jsonStr, Student.class);
以上就是常見的幾種Gson解析json返回空的情況,我們需要根據(jù)實際情況去分析原因,然后進行修復。
上一篇vue isselect
下一篇gson解析json注解