阿里FastJsonUtil工具类

1、添加maven依赖:

 <!--阿里爸爸的json包-->
<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>fastjson</artifactId>
     <version>1.2.41</version>
 </dependency>

2、demo使用:

2-1、封装FastJsonUtil 工具类:

package com.example.wqptest;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.TypeReference;
import java.util.List;
import java.util.Map;

public class FastJsonUtil {
    /**
     * 功能描述:把JSON数据转换成指定的java对象
     *
     * @param jsonData JSON数据
     * @param clazz    指定的java对象
     * @return 指定的java对象
     */
    public static <T> T getJsonToBean(String jsonData, Class<T> clazz) {
        return JSON.parseObject(jsonData, clazz);
    }

    /**
     * 功能描述:把java对象转换成JSON数据
     *
     * @param object java对象
     * @return JSON数据
     */
    public static String getBeanToJson(Object object) {
        return JSON.toJSONString(object);
    }

    /**
     * 功能描述:把JSON数据转换成指定的java对象列表
     *
     * @param jsonData JSON数据
     * @param clazz    指定的java对象
     * @return List<T>
     */
    public static <T> List<T> getJsonToList(String jsonData, Class<T> clazz) {
        return JSON.parseArray(jsonData, clazz);
    }

    /**
     * 功能描述:把JSON数据转换成较为复杂的List<Map<String, Object>>
     *
     * @param jsonData JSON数据
     * @return List<Map < String, Object>>
     */
    public static List<Map<String, Object>> getJsonToListMap(String jsonData) {
        return JSON.parseObject(jsonData, new TypeReference<List<Map<String, Object>>>() {
        });
    }

    /**
     * List<T> 转 json 保存到数据库
     */
    public static <T> String listToJson(List<T> ts) {
        String jsons = JSON.toJSONString(ts);
        return jsons;
    }

    /**
     * 两个类之间值的转换
     * 从object》》tClass
     *
     * @param object 有数据的目标类
     * @param tClass 转换成的类
     * @param <T>
     * @return 返回tClass类
     */
    public static <T> T getObjectToClass(Object object, Class<T> tClass) {
        String json = getBeanToJson(object);
        return getJsonToBean(json, tClass);
    }

    /**
     * json 转 List<T>
     */
    public static <T> List<T> jsonToList(String jsonString, Class<T> clazz) {
        @SuppressWarnings("unchecked")
        List<T> ts = JSONArray.parseArray(jsonString, clazz);
        return ts;
    }
}

2-2 调用方法使用FastJsonUtil类如下:

public class WqptestApplication {

    public static void main(String[] args) {
        SpringApplication.run(WqptestApplication.class, args);

        //自己定义的一个Student类
        Student st = new Student();
        st.setName("zhangsan");
        st.setAge(18);
        String json = FastJsonUtil.getBeanToJson(st);
        System.out.println("********对象转Json*********");
        System.out.println("json ::" + json);
        System.out.println("********Json转对象*********");
        Student newst = FastJsonUtil.getJsonToBean(json, Student.class);
        System.out.println("Name ::" + newst.getName());
        System.out.println("Age ::" + newst.getAge());
    }
}

2-3、调用输出结果:

********对象转Json*********
json ::{"age":18,"name":"zhangsan"}
********Json转对象*********
Name ::zhangsan
Age ::18

能驾驭的刀才是宝刀,就像记得住的知识才是属自己,否则你只能不停的百度,不如从现在开始就记下来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值