@Test
public void test01(){
String json = "[[\"42342\",\"1234213\"],[\"43124\",\"6456\"]]";
Gson gson = new Gson();
java.lang.reflect.Type type = new TypeToken<List<List<String>>>() {}.getType();
List<List<String>> list = gson.fromJson(json, type);
for (List<String> lists : list) {
for (String string : lists) {
System.out.println(string);
}
}
}
这里我是把一个二维数组处理成立成一个List<List<String>>对象
下面是我使用gson将json字符串转换为对象的两种方式
第一种:
public static <T> T getObject(String jsonString, Class<T> cls) {
T t = null;
try {
Gson gson = new Gson();
t = gson.fromJson(jsonString, cls);
} catch (Exception e) {
}
return t;
第二种:
public static <T> T getObject(String jsonString, Class<T> cls) {
Gson gson = new Gson();
java.lang.reflect.Type type = new TypeToken<T>() {}.getType();
T t = gson.fromJson(jsonString, type);
return t;
}
其中我在转换一个复杂对象(就是对象中有其他Object,也有set<Object>)时,使用第二种方式一直会报强制转换失败异常,第一种方式可以转换成功.具体原因不明