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;
    }
}

目录
相关文章
|
Prometheus 监控 Cloud Native
【监控】prometheus传统环境监控告警常用配置
【监控】prometheus传统环境监控告警常用配置
【监控】prometheus传统环境监控告警常用配置
|
JavaScript Java 区块链
经常忘记网址?将Vue项目一键打包为桌面客户端 十分钟让你解决烦恼(一)
经常忘记网址?将Vue项目一键打包为桌面客户端 十分钟让你解决烦恼
366 0
|
存储 数据采集 监控
InfluxDB:开启你的高性能读写数据之旅!
InfluxDB:开启你的高性能读写数据之旅!
682 0
|
云安全 安全 云计算
云安全的应用与合规性:构建安全可靠的云应用和满足合规性要求
本篇深入探讨了在云环境中构建安全可靠的应用和满足合规性要求的重要性。我们首先介绍了安全的软件开发生命周期(SDLC),强调了在需求分析、设计、编码、测试、部署和运维阶段嵌入安全性的关键步骤。示例代码展示了如何在每个阶段融入安全实践。
566 1
云安全的应用与合规性:构建安全可靠的云应用和满足合规性要求
|
NoSQL 数据处理 调度
【Redis技术专区】「原理分析」探讨Redis6.0为何需要启用多线程
在Redis 6.0版本中,引入了多线程技术,这是为了进一步提高Redis的性能和并发处理能力。通过启用多线程,Redis能够同时处理多个客户端请求,有效地利用多核处理器资源,提高系统的吞吐量和响应速度。
608 1
【Redis技术专区】「原理分析」探讨Redis6.0为何需要启用多线程
|
前端开发 网络协议 JavaScript
Linux系统下安装配置 Nginx 详细教程介绍
然后我们找到一个版本,把鼠标移动到上面,右键 - 复制链接地址我们使用 wget 命令把Nginx安装包下载到/usr/local/目录中下载nginx安装包下载好包之后,解压安装包。
562 0
|
JSON 缓存 算法
SpringBoot整合JWT
SpringBoot整合JWT
1027 0
SpringBoot整合JWT
|
消息中间件 SQL Java
flink问题之Application 模式下启动失败如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。
300 0
|
存储 云安全 安全
【探花交友】day02—完善个人信息(一)
【探花交友】day02—完善个人信息
1702 0
|
SQL
Mybatis-Plus sql注入方式实现批量保存
Mybatis-Plus、批量保存
1157 1