1.解析的一个json数据:
String json = {"a":"100", "b":[{"b1":"b_value1","b2":"b_value2"}, {"b1":"b_value1","b2":"b_value2"}], "c": {"c1":"c_value1","c2":"c_value2"}}
2.定义一个序列化的Bean,采用内部类的形式(自己GET和SET):
public class JsonBean { public String a; public List<B> b; public C c; public static class B { public String b1; public String b2; } public static class C { public String c1; public String c2; } }注意:
1、内部嵌套的类必须是static的,要不然解析会出错;
2、类里面的属性名必须跟Json字段里面的Key是一模一样的;
3、内部嵌套的用[]括起来的部分是一个List,所以定义为 public List<B> b,而只用{}嵌套的就定义为 public C c,
4.使用Gson解析
private static Gson gson = new Gson(); /** * 把json string 转化成类对象 * * @param str * @param t * @return */ public static <T> T toType(String str, Class<T> t) { try { if (str != null && !"".equals(str.trim())) { T res = gson.fromJson(str.trim(), t); return res; } } catch (Exception e) { Log.e(TAG, "exception:" + e.getMessage()); } return null; }