JsonUtil工具类

简介: 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;
    }
}

目录
相关文章
9hutool实战:LocalDateTimeUtil(JDK8+中的LocalDateTime 工具类封装)
9hutool实战:LocalDateTimeUtil(JDK8+中的LocalDateTime 工具类封装)
735 0
9hutool实战:LocalDateTimeUtil(JDK8+中的LocalDateTime 工具类封装)
|
4月前
|
Android开发
SharePreference封装成工具类
SharePreference封装成工具类
140 1
|
7月前
|
JSON 网络协议 C#
C# 工具类
C# 工具类
50 1
|
7月前
|
Java
JavaMap工具类(MapUtils)
JavaMap工具类(MapUtils)
|
数据采集 算法 安全
一天一个 JUC 工具类 -- 真工具类
CountDownLatch CyclicBarrier ForkJoin Semaphore 使用方法和注意事项
工具类-HttpClientUtil
工具类-HttpClientUtil
56 0
|
搜索推荐 安全 小程序
6个十分好用的工具类网站
6个十分好用的工具类网站
194 0
6个十分好用的工具类网站
|
安全
CollectionUtils工具类的常用方法
集合判断:   例1: 判断集合是否为空:  CollectionUtils.isEmpty(null): true  CollectionUtils.isEmpty(new ArrayList()): true    CollectionUtils.
2067 0
RedisUtils 工具类
RedisUtils 工具类
146 0