Gson 解析集合泛型

来源:互联网 发布:天猫盒子有线网络设置 编辑:程序博客网 时间:2024/06/06 03:59

Gson 解析集合泛型 简易demo

  • 先定义一个实体类FilterInfo
public class FilterInfo {    /**     * 特效code     */    private String code;    /**     * 特效名     */    private String name;    /**     * 特效示图     */    private String cover;}    

解析集合泛型, 有如下两种

1)使用 fromJson(String json, Class classOfT) 解析

public static void main(String[] args) {        Gson gson = new Gson();        String json = "[\n" +                "  {\n" +                "    \"code\": \"1\",\n" +                "    \"name\": \"1\",\n" +                "    \"cover\": \"1\"\n" +                "  },\n" +                "  {\n" +                "    \"code\": \"1\",\n" +                "    \"name\": \"1\",\n" +                "    \"cover\": \"1\"\n" +                "  }\n" +                "]";        List<FilterInfo> o = gson.fromJson(json, List.class);        System.out.println(gson.toJson(o));    }

2)使用 fromJson(String json, Type typeOfT) 解析

public static void main(String[] args) {        Gson gson = new Gson();        String json = "[\n" +                "  {\n" +                "    \"code\": \"1\",\n" +                "    \"name\": \"1\",\n" +                "    \"cover\": \"1\"\n" +                "  },\n" +                "  {\n" +                "    \"code\": \"1\",\n" +                "    \"name\": \"1\",\n" +                "    \"cover\": \"1\"\n" +                "  }\n" +                "]";        List<FilterInfo> o = gson.fromJson(json, new TypeToken<List<String>>() {        }.getType());        System.out.println(gson.toJson(o));    }