gson转换Timestamp类型 "2012-11-3 10:49:15" --> "2012-11-03 10:49:15"

JSON数据处理基础与应用全解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式存储数据。其核心原理基于键值对和数组两种数据结构,通过组合可表示复杂数据关系。作为Web API和微服务架构的事实标准,JSON具有语言无关性、易读性和解析高效等技术优势。在Python、Java等主流语言中,通过内置库或第三方工具(如Jackson)实现序列化与反序列化。典型应用场景包括前后端通信、NoSQL数据库存储和配置文件管理,特别适合RESTful API数据传输和微服务间消息交 阅读详情

问题: 项目中使用gson进行json的转换,但是在处理对象中的日期类型时,日期格式为“2011-8-31 11:11:11”不是我们期望的“2011-08-31 11:11:11”。

解决过程:

       到网上搜索了一下解决方案如下

        原代码: private static final Gson GSON = new Gson();

         新代码:private static final Gson GSON = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();

      改后测试了一下,竟然不起作用,奇怪!接着dubug了一下,发现原来因为使用了hibernate,对象中的日期类型时timestamp类型。上面的设置没起作用。接着又找了一下,还有对应方案如下


 

 首先创建一个类型适配器

  1. public class TimestampTypeAdapter implements JsonSerializer<Timestamp>, JsonDeserializer<Timestamp>{  
  2.      private final DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");      
  3.      public JsonElement serialize(Timestamp ts, Type t, JsonSerializationContext jsc) {      
  4.          String dfString = format.format(new Date(ts.getTime()));      
  5.          return new JsonPrimitive(dfString);      
  6.      }      
  7.      public Timestamp deserialize(JsonElement json, Type t, JsonDeserializationContext jsc) throws JsonParseException {      
  8.          if (!(json instanceof JsonPrimitive)) {      
  9.              throw new JsonParseException("The date should be a string value");      
  10.          }      
  11.       
  12.          try {      
  13.              Date date = format.parse(json.getAsString());      
  14.              return new Timestamp(date.getTime());      
  15.          } catch (ParseException e) {      
  16.              throw new JsonParseException(e);      
  17.          }      
  18.      }      
  19.  }   

 

应用类型适配器

  1. GsonBuilder gsonBuilder = new GsonBuilder();  
  2. gsonBuilder.setDateFormat("yyyy-MM-dd hh:mm:ss");  
  3. gsonBuilder.registerTypeAdapter(Timestamp.class,new TimestampTypeAdapter());  
  4. Gson GSON = gsonBuilder.create();  
  5. String json = GSON.toJson(new Timestamp((new Date()).getTime())); 
Halcon和C#联合编程实现硬币识别(个人入门练习) 本人为机器视觉入门小白,自己突发奇想 1.图片数据来源和分析 2.HALCON实现 3.C#搭建界面框架 4.C#中嵌入HALCON代码,即联合编程 5.导出.exe文件,运行以及Debug 目标是这样的,在图片中识别出每种类型的硬币数量,然后计算出总钱数。先上结果,再细说过程。 C#界面和识别结果: 1.图片数据来源和分析 图片大小及格式均统一,拍摄的时候已经尽可能的去除了背景噪点,所以图像处理的要求并不很高(重点在于思路)。硬币区分原理本人代码采用直径范围来判断(也可以半径或区域面积,HALCON算子 阅读详情

相关推荐

Ansys HFSS 中的同轴电缆仿真

准确模拟它们的行为对于确保 RF 系统的最佳性能至关重要。在本博客中,我们将介绍在 HFSS 中设置同轴电缆仿真并绘制插入损耗、回波损耗和电场分布的过程。将波端口分配给同轴线的两端以激励模型,并定义了从 1 GHz 到 20 GHz 的频率扫描以评估其宽带性能。铜分配给内部导体,铝分配给外部导体。介电区域使用 PTFE 定义,其相对介电常数为 2.1,损耗角正切为 0.00022。仿真完成后,结果用于绘制整个频率范围内的回波损耗和插入损耗。此外,电介质内的电场分布也被绘制和动画化。

jkh920184196的博客 1911

设置Gson返回数据库timestamp格式的时间戳数据到前端显示的格式

设置Gson返回数据库timestamp格式的时间戳数据到前端显示的格式 问题现象: 事情是这样的:今天在项目中使用了Gson来进行前后端数据交换的载体,而不是Json格式. 然后发现Gson再使用到insert插入数据到postgresql数据库时,数据显示格式为"yyyy-MM-dd HH:mm:ss"; 先说明一点,由于springboot默认是Json格式,因此在使用Gson时,不仅要导入依赖.还要再配置文件中设置springmvc响应数据的格式为Gson如下: 然而,问题是当我通过通

weixin_42585386的博客 1674

Apollo和autoware规划算法代码ros移植-路径规划可跑工程分享

Apollo6.0规划核心代码移植到Ros工程,可编译移植分享

weixin_39735688的博客 8509

使用 google gson 转换Timestamp或Date类型为JSON字符串.

gson lib 包为1.4版本.创建类型适配类: Timestamp类型适配类代码 import java.lang.reflect.Type;    import java.sql.Timestamp;    import java.text.DateFormat;    import java.text.ParseException;    import...

caodaoxi的专栏 724

别再为跨页读写发愁了!STM32F407模拟I2C驱动24C256/512的避坑指南

本文详细解析了STM32F407模拟I2C驱动24C256/512的跨页写入问题,揭示了24C系列存储器'写满一页不会自动翻页'的关键机制,并提供了经过验证的分页写入算法和优化方案。通过GPIO时序优化、地址计算和错误处理等技巧,帮助开发者解决数据错乱、覆盖等常见问题,实现稳定可靠的EEPROM读写操作。

weixin_42631411的博客 377

Node框架之NestJS入门学习

文章主要分为三部分:1 NestJS 与Egg对比2 NestJS 基础知识介绍3 使用NestJS快速搭建应用,实现CURD操作e-link文档Egg官网NestJS 官网NestJS中文文档(非官方)

十九万里的博客 4742

关于Timestamp转json时格式问题

在读取mysql数据库中关于datetime类型的数据转换成json的格式问题。将yyyy-MM-dd hh:mm:ss格式转换成yyyy-MM-dd,从而只显示年-月-日。在转换的过程中使用到了Gson类,如果想使用该类,可以自己导入依赖。

weixin_45893787的博客 1222

生成式引擎优化(GEO)的概念与技术路径

生成式引擎优化(GEO)是针对生成式AI引擎的新型优化策略,旨在提升内容在AI搜索与问答平台中的可见性和可信度。与传统SEO相比,GEO更注重语义理解、知识图谱和多模态生成等技术,通过优化内容的结构化和平台适配性,使品牌信息在生成式AI中更易被采纳和呈现。其核心技术包括语义理解、向量数据库和实时反馈优化等,应用于品牌传播、智能客服和个性化推荐等领域。随着AI技术发展,GEO将向智能化、自动化方向演进,成为内容优化的重要工具。

Baixue5209的博客 1048

gson转化日期

问题: 项目中使用gson进行json的转换,但是在处理对象中的日期类型时,日期格式为“2011-8-31 11:11:11”不是我们期望的“2011-08-31 11:11:11”。 解决过程:        到网上搜索了一下解决方案如下         原代码: private static final Gson GSON = new Gson();

不了了之专栏 3833

OpenClaw 在 Windows 环境下的完整安装、配置和部署指南

介绍Windows环境下OpenClaw的完整安装,配置和部署的全流程

hxbao的专栏 1486

Pytorch实现之SRGAN+CBAM的结构设计

在SRGAN的残差连接中加入了CBAM注意力机制,同时设计了四类损失来训练。

LJ1147517021的博客 573

[转载]java Timestamp、Date和String之间的互转

业务需求:时间戳long型数据相减. 请求带有时间戳请注意,yy-MM-dd hh:mm:ss是12小时制格式。yy-MM-dd HH:mm:ss是24小时制格式。 1.String 转 DateString dateStr = “2012-12-31 00:00:00”;Date date = new Date();DateFormat sdf = new SimpleDateFormat(“yy

TTKatrina的博客 561

【Visual Assist X助手安装问题】Visual Assist X无法安装(双击安装包没反应) | Visual Assist X安装后在Visual Studio中找不到(亲测有效)

本文分享了Visual Assisant X助手的安装与使用问题的详细解决办法,因为网上搜集的信息比较少,所以有一定的参考价值。考虑到很多开发新手会遇到上述问题,可能对Windows系统不熟悉,所以相关操作步骤讲解的很详细!

dvlinker的技术专栏 6万+

Kafka消息乱码问题深度解析:从编码原理到生产环境根治方案

字符编码是计算机系统中文本数据存储与传输的基础概念,它定义了字符与二进制字节序列之间的映射规则。在分布式消息系统中,消息的序列化与反序列化过程本质上是基于字符编码的字节转换。当生产者与消费者使用不同的字符集进行编解码时,就会出现乱码问题,这直接影响了数据的完整性与业务可靠性。Kafka作为核心的消息中间件,其消息传递基于字节数组,不执行编码转换,因此编码一致性成为保障数据正确性的关键技术要点。在实际的工程实践中,尤其是在涉及多语言客户端、复杂数据管道(如Filebeat -> Kafka -> Logsta

weixin_33984032的博客 391

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

使用GSON反序列化Date与Timestamp

将Date类型的引入包有sql切换为util,并自定义了一个反序列化的类,然后使用Gson进行注册使用。将两种类型的序列化给Gson进行注册使用,分别解析其格式进行返回。而gson序列化的日期类型为年月日时分秒的类型,因此出现错误。对Gson进行serializeNulls()调用即可。定义两个类型的序列化格式。

qq_57015835的博客 446

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

gson无法正常将时间戳转化成date

gson无法正常将时间戳转化成date gson将时间戳转化成date时,报错 Failed to parse date ["1551950239757']: Invalid time zone indicator '3' 解决办法 添加一个long转date的解析器 @Test public void fun1(){ GsonBuilder builder = ne...

booleandev 6090

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

使用 google gson 转换Timestamp或Date类型为JSON字符串

使用 google gson 转换Timestamp或Date类型为JSON字符串

hgffhh的博客 1080

用gson如何处理json转换Timestamp类型

问题:项目中使用gson进行json的转换,但是在处理对象中的日期类型时,日期格式为“2011-8-31 11:11:11”不是我们期望的“2011-08-31 11:11:11”。 解决过程: 到网上搜索了一下解决方案如下 原代码: private static final Gson GSON = new Gson(); 新代码:private static final Gson...

tibaloga 854

用gson处理json转换Timestamp类型 在处理对象中的日期类型时异常

gson对日期类型的  json 转换会报错 , 可能 gson 对日期类行的json 转换时 要指定日期格式类型吧 , 解决办法 : 用阿里的   import com.alibaba.fastjson.JSONObject;  JSONObject.parseObject(requestBody, .class); 就可以解决这个问题...

Architect_优快云的博客 4298

GSON序列化时,日期格式问题处理

前言 Map rowMap = new HashMap(); rowMap.put("id", 1); rowMap.put("name", "zhang san"); rowMap.put("birthday", DateUtils.addYears(new Date(), -10)); System.out.println(new Gson().toJson(rowMap)); 输出结果 {...

sayyy的专栏 3045

(软君精品)Timestamp 和 Date 之间的转化

首先我们一起来看下 Timestamp 这个类,通过API 我们可以发现如public class Timestamp extends Date 我们可以发现 Timestamp 其实是 java.util.Date的子类,然后我们继续看,在Timestamp 类的构造器看到下面的说明,我们可以通过一个long time 参数来够着一个Timestamp ,而这个long time 其实就是我们...

sdn_bt496的专栏 1万+

java Gson使用中遇到的Date格式问题

为了避免使用Gson时遇到locale影响Date格式的问题,使用GsonBuilder来创建Gson对象,在创建过程中调用GsonBuilder.setDateFormat(String)指定一个固定的格式即可。例如: Gson gson = new GsonBuilder()   .setDateFormat("yyyy-MM-dd HH:mm:ss")   .create();

zhuyu19911016520 1800

Java JsonParseException异常的解决

在开发工作过程中,有遇到以下异常的其实是参数异常,也就是json的拼装有问题。 在接口对接的时候,对方传过来的json解析报错: org.codehaus.jackson.JsonParseException: Unexpected character ('c' (code 99)): was expecting double-quote to start field name at [S...

我的博客 4万+
上一篇: 告别繁琐的配置文件 ---- 全注解Spring,Hibernate开发 不完全指南
下一篇: csdn 代码泄漏
逆乾坤
博客等级 码龄16年 30粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值