Gson g = new Gson();
List<实体类> list = gson.fromJson(jsonStr,List.class);
你觉得上面对了吗?
1.虽然编译过了,类型却不是 List<实体类> 而是 List<Map>
可以debug就知道了
单独使用元素: 实体类 a = list.get(i); 就会报类型转换异常。
2.正确的转换是
List<实体类> list
= gson.fromJson(jsonStr,new TokenType<List<实体类>>(){}.getType());
Java会类型擦除,导致编译正常,运行正常,但是类型转换异常!!!!!
这种类型转换异常违反直觉,需要注意。
Java JSON类型转换异常
于 2022-06-24 18:07:59 首次发布