json的转换与解析

json的转换与解析 ----- 阿里FastJsonUtil工具类


1.添加maven依赖

<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>fastjson</artifactId>
     <version>1.2.41</version>
 </dependency>

2.封装工具类:

public class FastJsonUtil {

      /**
     * 说明:JSON 转 对象
     *
     * @param jsonData JSON数据
     * @param clazz    指定的java对象
     * @return 指定的java对象
     */
    public static <T> T getJsonToBean(String jsonData, Class<T> clazz) {
        return JSON.parseObject(jsonData, clazz);
    }



    /**
     * 说明:对象 转 JSON
     *
     * @param object java对象
     * @return JSON数据
     */
    public static String getBeanToJson(Object object) {
        return JSON.toJSONString(object);
    }



    /**
     * 说明:JSON 转 List<T>
     *
     * @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);
    }



    /**
     * 说明:List<T> 转 json
     *
     * @param  list 需要转换的list
     * @return JSON数据
     */
    public static <T> String getListToJson(List<T> list) {
        return JSON.toJSONString(list);
    }


    /**
     * 说明:JSON 转 Map<Object,Object>
     *
     * @param jsonData JSON数据
     * @return Map<Object,Object>
     */
    public static Map getJsonToMap(String jsonData) {
        return JSON.parseObject(jsonData,Map.class);
    }


    /**
     * 说明:Map<Object,Object> 转 JSON
     *
     * @param  map  要转换的Map集合
     * @return JSON数据
     */
    public static String getMapToJson(Map map) {
        return JSON.toJSONString(map);
    }


    /**
     * 两个类之间值的转换
     * 从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<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>>>() {
        });
    }

}

3.测试

 @Test
    public void test(){
        User user = new User();

        String beanToJson = getBeanToJson(user);
        log.info("对象转json:{}",beanToJson);

        User jsonToBean = getJsonToBean(beanToJson, User.class);
        log.info("json转对象:{}",jsonToBean);

        List<User> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            User user1 = new User();
            user1.setId(i);
            list.add(user1);
        }

        String listToJson = getListToJson(list);
        log.info("list转json:{}",listToJson);

        List<User> userList = getJsonToList(listToJson, User.class);
        log.info("json转list:{}",userList);

        Map<Integer,String> map = new HashMap<>();
        map.put(1,"1111");
        map.put(2,"2222");
        map.put(3,"3333");

        String mapToJson = getMapToJson(map);
        log.info("map转json:{}",mapToJson);

        Map<Integer, String> jsonToMap = getJsonToMap(mapToJson);
        log.info("json转map:{}",jsonToMap);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值