Json解析工具類JsonHelper
利用Gson快速解析json
需要導入Gson包,解析成一個對象或一個包含此對象的list
JsonHelper代碼如下:
import java.util.ArrayList; import java.util.List; import android.text.TextUtils;import com.google.gson.Gson; import com.google.gson.JsonParseException; import com.google.gson.JsonParser; import com.google.gson.reflect.TypeToken;
public class JsonHelper { private static JsonHelper util;
public static JsonHelper getInstance() { if (util == null) { util = new JsonHelper(); } return util; } private JsonHelper() { super(); } public String createJsonString(Object value) { Gson gson = new Gson(); String str = gson.toJson(value); return str; } public <T> T getObject(String jsonString, Class<T> cls) { T t = null; try { if (isGoodJson(jsonString)) { Gson gson = new Gson(); t = gson.fromJson(jsonString, cls); } } catch (Exception e) { e.printStackTrace(); } return t; } public <T> List<T> getList(String jsonString, TypeToken<T> tt) { List<T> list = new ArrayList<T>(); try { if (isGoodJson(jsonString)) { Gson gson = new Gson(); list = gson.fromJson(jsonString, tt.getType()); } } catch (Exception e) { } return list; } public boolean isBadJson(String json) { return !isGoodJson(json); } public boolean isGoodJson(String json) { if (TextUtils.isEmpty(json)) { return false; } try { new JsonParser().parse(json); } catch (JsonParseException e) { return false; } return true; }}</pre>
使用方法
Bean bean = new Bean(); bean.age="30"; bean.name="name"; String result = JsonHelper.getInstance().createJsonString(bean); System.out.println(result); Bean bean2 = JsonHelper.getInstance().getObject(result, Bean.class); System.out.println(bean2.toString());ArrayList<Bean> list = new ArrayList<Bean>(); list.add(bean); list.add(bean2); result = JsonHelper.getInstance().createJsonString(list); System.out.println(result); List<ArrayList<Bean>> list2 = JsonHelper.getInstance().getList(result, new TypeToken<ArrayList<Bean>>(){}); System.out.println(list2.toString());</pre>
Bean.java
public class Bean {String name=""; String age=""; @Override public String toString() { return "Bean [name=" + name + ", age=" + age + "]"; }}</pre>
本文由用戶 yne7 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!