JsonUtil工具类

package com.tian.mvc01.util;

import com.google.gson.*;
import com.google.gson.reflect.TypeToken;

import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;

/**
 * 描述:
 * json转换工具类
 *
 * @author cui
 * @create 2018-11-08 09:48
 */
public class JsonUtil {

    /**
     * java对象转字符串
     *
     * @param obj
     * @return
     */
    public static String javaBeanToJson(Object obj) {
        Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
        return gson.toJson(obj);
    }

    /**
     * json字符串转java对象
     *
     * @param json
     * @param typeOfT
     * @return
     */
    public static Object jsonToJavaBean(String json, Type typeOfT) {
        Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
        Object obj = gson.fromJson(json, typeOfT);
        return obj;
    }

    /**
     * 泛型约束List 转换字符串
     *
     * @param list
     * @return
     */
    public static String getGenericList(List<?> list) {
        Type type = new TypeToken<List<?>>() {
        }.getType();
        Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss")
                .create();
        return gson.toJson(list, type);
    }


    /**
     * 字符串转换list对象
     * @param json
     * @return
     */
    public static <T> List<T> jsonListToListBean(String json,Class<T> cls){
        List<T> list = new ArrayList<T>();
        try {
            Gson gson = new Gson();
            JsonArray arry = new JsonParser().parse(json).getAsJsonArray();
            for (JsonElement jsonElement : arry) {
                list.add(gson.fromJson(jsonElement, cls));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return list;
    }
}


posted @   微信公众号-醉鱼Java  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
点击右上角即可分享
微信分享提示