在做android解析服务器传来的json时遇到的错误。
服务器传来的数据格式
[java]
view plain
copy
- [{"title":"qq","aipPath":"/jeesite/userfiles/bda5e6b04dee47d6ba64386190f4d434/accept/2016/09/1474182626803_nbspd.aip","delFlag":"0","
- id":"7ef6815938394fce88a5873312b661e4","isNewRecord":false}]
之前对应的代码如下:
[java]
view plain
copy
- public static <T> List<T> getObjectList(String jsonString,Class<T> cls){
- List<T> list = new ArrayList<T>();
- try {
- Gson gson = new Gson();
- list = gson.fromJson(jsonString, new TypeToken<List<T>>(){}.getType());
- } catch (Exception e) {
- e.printStackTrace();
- }
- return list;
- }
以上解析方法是错误的,修改如下代码:
[java]
view plain
copy
- public static <T> List<T> getObjectList(String jsonString,Class<T> cls){
- List<T> list = new ArrayList<T>();
- try {
- Gson gson = new Gson();
- JsonArray arry = new JsonParser().parse(jsonString).getAsJsonArray();
- for (JsonElement jsonElement : arry) {
- list.add(gson.fromJson(jsonElement, cls));
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return list;
- }
做这个时候一定要根据自己的数据格式来确定使用的方法。
点关注,不迷路
文章每周持续更新,可以微信搜索「 十分钟学编程 」第一时间阅读和催更,如果这个文章写得还不错,觉得有点东西的话 ~求点赞👍 求关注❤️ 求分享❤️
各位的支持和认可,就是我创作的最大动力,我们下篇文章见!