很久以前寫json解析用原始的解析json的方法,后來為了加快開發進度,開始使用gson,fastjson等第三方jar包來進行json解析,為了保持apk足夠小,不因為引入jar包導致apk文件過大,選擇使用gson來加速json解析,當然,去年androidstudio 1.0版本出來,很多人開始使用androidstudio,當然studio有很多方便開發的插件加速應用的開發,減少開發者的勞動力。
今天推薦個工具就是:gsonformat
下載地址:
用過后表示,怎么這么酸爽的呢,哈哈
安裝流程:
Setting-->plugins-->

使用:
自定義個javaBean(無任何內容,就一個空的類)
首先復制你要解析的json
然后alt+insert彈出如下界面

粘貼到如下界面:

點擊ok,自動生成對應javaBean的語句:

然后就是根據json來進行json to bean的轉換了
提供兩工具類:
-
1 import java.util.List; 2 /** 3 * TODO: json工具類 4 * 5 * @author soyoungboy 6 * @date 2014-11-8 下午2:32:24 7 */ 8 public abstract class Json { 9 private static Json json; 10 Json() { 11 } 12 public static Json get() { 13 if (json == null) { 14 json = new GsonImpl(); 15 } 16 return json; 17 } 18 public abstract String toJson(Object src); 19 public abstract <T> T toObject(String json, Class<T> claxx); 20 public abstract <T> T toObject(byte[] bytes, Class<T> claxx); 21 public abstract <T> List<T> toList(String json, Class<T> claxx); 22 }
1 public class GsonImpl extends Json { 2 private Gson gson = new Gson(); 3 @Override 4 public String toJson(Object src) { 5 return gson.toJson(src); 6 } 7 @Override 8 public <T> T toObject(String json, Class<T> claxx) { 9 return gson.fromJson(json, claxx); 10 } 11 @Override 12 public <T> T toObject(byte[] bytes, Class<T> claxx) { 13 return gson.fromJson(new String(bytes), claxx); 14 } 15 @Override 16 public <T> List<T> toList(String json, Class<T> claxx) { 17 Type type = new TypeToken<ArrayList<T>>() {}.getType(); 18 List<T> list = gson.fromJson(json, type); 19 return list; 20 } 21 }
然后就是一句話,完美解析json了:
- 1 JavaBean bean =GsonImpl.get().toObject(json,JavaBean.class);
完美解析json就是這么簡單,就是這么酸爽。
解析json的工具類來自lite君的github的輪子代碼。
https://github.com/litesuits/android-lite-http/tree/master/library/src/com/litesuits/http/data