使用gson将json数据进行转换 (json to bean 或 json to list)

1,236 阅读1分钟

以下仅仅是记录使用gson提供的jar包将json数据转换为对应的bean和list方法,以泛型的方式实现,需要扩展可依据以下方法进行修改与完善。

/**
     * Json字符串转Class
     * @param strJsonData
     * @param cls
     * @param <T>
     * @return
     */
    public static <T> T jsonToClass(String strJsonData, Class<T> cls)
    {
        Gson gson = new Gson();
        T t = gson.fromJson(strJsonData, cls);

        // 空字符串转换

        return t;
    }

    /**
     * json转list
     * @param strJsonData
     * @param cls
     * @return
     */
    public static List<?> jsonToList(String strJsonData, Class<?> cls)
    {
        Gson gson = new Gson();
        List<?> list = gson.fromJson(strJsonData, new TypeToken<List<?>>(){}.getType());

        if (null == list)
            return null;

        return list;
    }

    /**
     * Class对象转Json字符串
     * @param obj
     * @param <T>
     * @return
     */
    public static <T> String jsonFromClass(Class<T> obj)
    {
        Gson gson = new Gson();
        return gson.toJson(obj);
    }

以下是通用Json 转 Bean、List<?>方法

public static <T> T jsonToList(String strJsonData, Class<?> cls)
    {
        Gson gson = new Gson();
        T t = gson.fromJson(strJsonData, new TypeToken<T>(){}.getType());

        return t;
    }