fastjson使用泛型转换对象

通常会使用fastjson将json字符串转换,可参考文章。而对于事先不确定的类型,则需要使用泛型方式进行对象的转换。

使用泛型定义json字符串转对象的方法:

    public static <T> T jsonParse(Object obj, Class<T> clazz) {
        if (null != obj) {
            //使用泛型方式转换对象
            return JSON.parseObject(JSON.toJSONString(obj), new TypeReference<T>() {
            });
        }
        return null;
    }

在进行转换时使用了TypeReference对象来声明泛型。

进行调用:

 jsonParse(userObj,User.class);

那么在进行对象转换时,指定值及类型即可,可减少重复转换的代码。

当然也可以转换集合,方式如下:

 public static <T> List<T> jsonParseList(Object obj, Class<T> clazz) {
        if (null != obj) {
            //使用泛型方式转换集合
            List<T> list = JSON.parseArray(JSON.toJSONString(obj), clazz);
            return list;
        }
        return null;
    }

使用parseArray方法即可进行转换。

posted @ 2021-10-24 09:46  钟小嘿  阅读(2792)  评论(0编辑  收藏  举报