【java】将json对象转换为class类之fastjson

我们在后端调用接口得到的结果集后,通常结果集是json的形式,如果我们要想获取json中得到内容,我们可以将json转换为class类,下面我们一起来看看吧

引入maven依赖

首先我们引入maven依赖,我这里引入的是1.2.75版本maven依赖入口

<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.75</version>
</dependency>

将result结果集转换为class类

首先我们要定义一个json的实体类

定义一个登录的实体类

@Data
public class LoginClass extends Model{

}
@Data
public class Model {
    @JSONField(name = "code")
    public String code;
    @JSONField(name = "msg")
    public String msg;
    @JSONField(name = "data")
    public String data;

}

实现

 public LoginClass jsonToClass(String result) {

        LoginClass loginClass = JSON.parseObject(result, LoginClass.class);
        System.out.println("code:" + loginClass.code);
        System.out.println("msg" + loginClass.msg);
        System.out.println("data" + loginClass.data);
        return loginClass;
    }

这样我们就将json实体类转换成了class类,是不是很方便

定义泛型方法

但是我们会发现这有个问题
在这里插入图片描述
我们转换的类肯定不止一个,那么我们是不是可以封装一个json转实体类的方法,我们发现传过去的是一个LoginClass.class,那么我们就发现,是不是可以来一个泛型,传过来的是不同的实体类映射呢

所以小编便封装了一个方法

/**
* @param result 结果集
* @param result InfoClass 映射实体类
* @return 返回映射的实体类
*/
public <W> W jsonToClass(String result, Class<W> InfoClass) {
        return JSON.parseObject(result, userInfoClass);
    }

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值