Gson json转list、数组

使用Gson,把json转成list或数组,主要是通过Gson类中的fromJson(String json,Type typeOfT)这个方法。

重点就是怎么获取这个typeOfT。

我知道的有两种方式:

方式一:
    TypeToken<List<String>> type = new TypeToken<List<String>>(){};
    Type typeOfT = type.getType();
    这种方式简单,但是不适合写工具类,要对不同的Object写TypeToken,多了就比较烦了。

方式二:
    TypeToken提供了getArray(Type componentType)这个方法,而Class又实现了Type接口,所以写工具类就方便多了。
    public static Object[] json2ObjectArray(String json, Class cls) {
        TypeToken<?> array = TypeToken.getArray(cls);
        Gson gson = new Gson();
        Object[] objects = gson.fromJson(json, array.getType());
        return objects;
    }
    这里获取的是数组,虽然不是list,但是转换也是很方便的。

猜你喜欢

转载自blog.csdn.net/niuzhijun66/article/details/83185978