Spring Data JPA - 用于 json 序列化的 ZonedDateTime 格式

2024-02-21

我的 json 序列化有问题ZonedDateTime。当转换为 json 时,它会产生一个巨大的对象,我不希望每次都传输所有数据。所以我尝试将其格式化为ISO,但它不起作用。我怎样才能让它格式化?

这是我的实体类:

@MappedSuperclass
public abstract class AuditBase {

    @Id
    @GeneratedValue
    private Long id;

    @CreatedDate
    private ZonedDateTime createdDate;

    @LastModifiedDate
    private ZonedDateTime lastModifiedDate;

    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
    public ZonedDateTime getLastModifiedDate() {
        return lastModifiedDate;
    }

    public void setLastModifiedDate(ZonedDateTime lastModifiedDate) {
        this.lastModifiedDate = lastModifiedDate;
    }

    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
    public ZonedDateTime getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(ZonedDateTime createdDate) {
        this.createdDate = createdDate;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @PrePersist
    public void prePersist() {
        this.createdDate = ZonedDateTime.now();
        this.lastModifiedDate = ZonedDateTime.now();
    }

    @PreUpdate
    public void preUpdate() {
        this.lastModifiedDate = ZonedDateTime.now();
    }
}

我猜你正在使用 Jackson 进行 json 序列化,Jackson 现在有一个用于 Java 8 新日期时间 API 的模块,https://github.com/FasterXML/jackson-datatype-jsr310 https://github.com/FasterXML/jackson-datatype-jsr310.

将此依赖项添加到您的 pom.xml 中

<dependency>
    <groupId>com.fasterxml.jackson.datatype</groupId>
    <artifactId>jackson-datatype-jsr310</artifactId>
    <version>2.6.0</version>
</dependency>

这是它的用法:

 public static void main(String[] args) throws JsonProcessingException {
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.registerModule(new JavaTimeModule());
    System.out.println(objectMapper.writeValueAsString(new Entity()));
}

static class Entity {
    ZonedDateTime time = ZonedDateTime.now();

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ")
    public ZonedDateTime getTime() {
        return time;
    }
}

输出是:

{"time":"2015-07-25T23:09:01.795+0700"}

注意:如果您的 Jackson 版本是 2.4.x,请使用

objectMapper.registerModule(new JSR310Module());

希望这可以帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Data JPA - 用于 json 序列化的 ZonedDateTime 格式 的相关文章

  • 将 jQuery 与 Selenium WebDriver 结合使用 - 如何将 JSON 对象转换为 WebElement?

    我正在使用 Selenium WebDriver 我想执行 jQuery 代码来查找一些元素 我的代码如下 public function uploadGrantDoc script return itemlist grant file u
  • Kafka Java Consumer 已关闭

    我刚刚开始使用卡夫卡 我面临着消费者的一个小问题 我用Java写了一个消费者 我收到此异常 IllegalStateException 此消费者已关闭 我在以下行中遇到异常 ConsumerRecords
  • 当 JMS Prod 位于辅助 POJO 类中时,如何在事务中包含 JMS Producer

    简短的问题 有没有办法强制无状态 EJB 调用的 POJO 存在于 EJB 的上下文中 以便事务和资源注入可以在 POJO 中工作 具体来说 在我想要做的事情的上下文中 如何在 EJB 的事务中包含 POJO JMS 生产者 该生产者在调用
  • 正则表达式在 Velocity 模板中不起作用

    我在 Test java 中尝试过这个 String regex lt s br s s gt String test1 lt br gt System out println test replaceAll regex 但是当我在速度模板
  • Twitch API - 无法使用 PHP 获取身份验证令牌

    stackoverflow 的成员们大家好 我不是一个喜欢寻求帮助的人 但在这种情况下 我认为这是解决我的问题的唯一方法 谷歌并没有给我太大帮助 所以 我的问题 我想使用 Twitch API 获取一些数据 听起来很容易 我希望是这样 下面
  • Android volley使用RequestFuture.get()时出现超时异常

    在我的片段中 我尝试使用 TMDB 的开放电影数据库来获取有关 正在播放 电影的详细信息 如果我使用 RequestFuture get time TimeUnit 方法来执行此齐射请求 我总是会收到超时错误 如果我在 Safari 中手动
  • 更改 JComboBox 中滚动条的大小

    有谁知道如何手动更改 jComboBox 中的滚动条大小 我已经尝试了一大堆东西 但没有任何效果 好吧 我明白了 您可以实现 PopUpMenuListener 并使用它 public void popupMenuWillBecomeVis
  • 是否有最新的 Facebook Java SDK? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 好像没找到最近更新的 如果没有 是否有一个好的 Java 库来执行与 Facebook 的 API 交
  • 从 Android 访问云存储

    我一直无法找到任何有关如何从 Android 应用程序使用云存储的具体文档 我确实遇到过这个客户端库 https cloud google com storage docs reference libraries然而 Google Clou
  • 多线程——更快的方法?

    我有一堂有吸气剂的课程getInt 和一个二传手setInt 在某个领域 比如说领域 Integer Int 一个类的一个对象 比如说SomeClass The setInt 这里是同步的 getInt isn t 我正在更新的值Int来自
  • JAXB 编组器无参数默认构造函数

    我想从 java 库中编组一个 java 对象 当使用 JAXB marschaller 编组 java 对象时 我遇到了一个问题 A 类没有无参数默认构造函数 我使用Java Decompiler来检查类的实现 它是这样的 public
  • Java8:流映射同一流中的两个属性

    我有课Model带有以下签名 class Model private String stringA private String stringB public Model String stringA String stringB this
  • Android项目中使用java获取电脑的IP地址

    我在用ksoap2 android http code google com p ksoap2 android 我需要使用java获取IP地址 这样我就不必每次都手动输入它 我所说的 IP 地址是指 例如 如果我这样做ipconfig使用命
  • Java 中处理异步响应的设计模式

    我读过类似问答的答案 如何在 JAVA 中创建异步 HTTP 请求 https stackoverflow com questions 3142915 how do you create an asynchronous http reque
  • 从浏览器访问本地文件?

    您好 我想从浏览器访问系统的本地文件 由于涉及大量安全检查 是否可以通过某种方式实现这一目标 或使用 ActiveX 或 Java Applet 的任何其他工作环境 请帮帮我 要通过浏览器访问本地文件 您可以使用签名的 Java Apple
  • CXF:通过 SOAP 发送对象时如何排除某些属性?

    我使用 Apache CXF 2 4 2 当我将数据库中的某个对象返回给用户时 我想排除一些属性 例如密码 我怎样才能做到这一点无需创建临时的班级 有这方面的注释吗 根据 tomasz nurkiewicz 评论我应该使用 XmlTrans
  • 如何使用注释处理 Hibernate 和 Spring 中的连接查询?

    我正在使用 Spring 和 Hibernate 以及 MySQL 开发应用程序 我是 Hibernate 新手 完成了基本任务 现在我需要在选择查询中应用联接以使用注释从多个表中获取数据 我已经搜索过但仍然没有任何想法 这是我的数据库表和
  • @Embeddable 中的 @GenerateValue

    我已将实体的 id 分离到一个单独的 Embeddable 类中 该实体如下 Entity Table name users public class Users EmbeddedId private Users pk id private
  • 使用 AmazonSNSClient 发送短信时的授权

    aws 官方文档如何发送短信 http docs aws amazon com sns latest dg sms publish to phone html使用 java 中的 aws SDK 非常简单 但是 当发送如底部示例所示的消息时
  • jQuery appendTo(), json 在 IE 6,7,8 中不起作用

    我这两天绞尽脑汁想找到解决办法 我使用 jQuery ajax 从数据库中获取值 以便在另一个框发生更改时更新一个框 php 脚本从数据库中获取值 然后输出 json 它在 FF 中工作正常 但在所有版本的 IE 中 选择框都不会更新 我已

随机推荐

  • Oracle sql MERGE INTO 带有单个 where 子句

    我有以下 SQL 代码 这是我到目前为止所得到的 MERGE INTO SCHEMA1 TABLE 1 table1 USING SELECT DISTINCT table2 column1 view1 column2 FROM SCHEM
  • 如何在 PHP 中使用 RegexIterator

    我还没有找到如何使用 php RegexIterator 递归遍历目录的好例子 最终结果是我想指定一个目录并查找其中具有某些给定扩展名的所有文件 例如只说 html php 扩展 此外 我想过滤掉 Trash 0 Trash 500 等类型
  • 可以禁用@media查询或强制解决吗?原因:允许 iPhone 查看桌面网站吗?

    我通过 media 查询对我的网站进行了大幅修改 以在手机上显示得非常精简 但是 我的用户要求提供该网站的桌面版本 可通过链接获取 更进一步 桌面站点本身也会根据分辨率被 media 查询修改 我正在考虑选择一种 桌面 分辨率 例如 144
  • 未选取环回 4 测试配置

    我跟着Loopback4 数据源 https loopback io doc en lb4 DataSources html文档并放置样本 数据源 json and 样本 测试 数据源 json文件下src 数据源 每当我跑步时npm ru
  • Java CGI 与 Servlet [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Tweepy 错误代码 400

    我正在尝试下载一些推文用于研究目的 直到几天前 代码都运行得很好 错误信息 gt Traceback most recent call last gt gt File
  • 编译时如何使用通配符包含 JAR 文件?

    我在 java 文件 MyRtmpClient java 中有以下内容 import org apache mina common ByteBuffer and ByteBuffer位于 JAR 文件内 当然具有正确的目录结构 该 jar
  • JQuery Ajax post 参数有时不会在 IE 上发送

    我遇到的问题是 当我使用 jquery ajax post 时 频率非常低 当我将呼叫从 post 类型切换为 get 类型时 问题就消失了 有没有其他人在 IE 上见过这种奇怪的行为 谢谢 我已经在各种 ajax 调用中看到过这种情况 但
  • 使用 Azure Function 删除 CosmosDB 条目

    我一直在寻找一种技术 通过浏览器内的代码编辑器 使用 Azure Functions 删除 Cosmos 数据库中的项目 我不想在 VS 上使用本地开发的代码有多种原因 我正在使用的代码可用here https pastebin com X
  • 向 ASP.NET Web API 控制器添加显式操作路由

    我有一个 ASP NET Web API 项目ApiController提供了一个User端点具有以下操作 GET api User POST api User DELETE api user 我想提供以下端点 GET api user m
  • 单元测试与验收测试

    你支持其中之一吗 或两者 我的理解是单元测试 从开发人员的角度验证系统 帮助开发者实践TDD 保持代码模块化 协助检测低粒度的错误 验收测试 从业务和 QC QA 角度验证系统 往往是高级别的 因为它们通常是由不熟悉代码内部工作原理的人编写
  • WebRTC - 禁用所有音频处理

    我目前正在尝试通过 webrtc 获得尽可能干净的音频通道 通过 getUserMedia mediaconstraints 对象 我设置了以下选项 constraints audio mandatory echoCancellation
  • git pre-receive hook - 获取最新代码

    我正在尝试写一个pre receive hook对于 git 来说 它将拉取正在推送的最新版本的代码并对其运行单元测试 我的代码如下 但是当它到达 git checkout newrev 时 我得到 远程 致命 引用不是树 188de39c
  • 球体/地球仪上的点与多边形之间的最短大圆距离

    我有一组由地理 WGS84 坐标指定的多边形 它们位于球体上 我有一个由纬度 经度对指定的点 我想 有效地 找到点和多边形之间的最小大圆距离 我当前的堆栈包括 fiona shapely gdal 和 proj StackOverflow
  • Hystrix 忽略运行超时

    我正在尝试使用 Hystrix 我理解文档 即使通过 运行 同步调用 Hystrix 命令也会默认在线程中运行 并且应该受到 Hystrix 中配置的超时的影响 但当我尝试时 似乎没有发生超时 我是否误解了文档 或者我做错了什么 有没有办法
  • 如何用颜色填充图像的一部分?

    我在表单中添加了图像 如何填充部分图像 我有这个 我想要实现的目标 To 洪水填埋一个你只需要日常食品填充的区域 几乎不需要其他任何东西 看这个例子 它使用两个图片框 还有一个用于显示所选颜色的标签 还有两个鼠标单击事件 其中一个用于选择颜
  • 在j2me中从收件箱读取短信

    我正在使用j2me技术 我的应用程序用于发送和接收短信 发件人无法在特定端口上发送短信 短信始终会发送到收件箱 j2me 可以从收件箱读取短信吗 不 您无法从 J2ME 中的收件箱读取 SMS 但是 您可以使用 AT 命令来执行此操作 如我
  • Backbone.js - 删除所有子视图

    我有一个顶级 PageView 只要路线发生变化 它就会重新渲染自身 我有许多嵌套的子视图嵌入到此 PageView 中 如果我要重新渲染 PageView 是否需要删除 取消绑定所有嵌套的子视图以及 PageView 还是只需要删除 取消
  • 创建一个数组,其中相同的元素重复多次

    在 Python 中 其中 2 是一个列表 以下代码给出此输出 2 5 Outputs 2 2 2 2 2 有没有一种简单的方法可以用 JavaScript 中的数组来做到这一点 我编写了以下函数来执行此操作 但是有更短或更好的函数吗 va
  • Spring Data JPA - 用于 json 序列化的 ZonedDateTime 格式

    我的 json 序列化有问题ZonedDateTime 当转换为 json 时 它会产生一个巨大的对象 我不希望每次都传输所有数据 所以我尝试将其格式化为ISO 但它不起作用 我怎样才能让它格式化 这是我的实体类 MappedSupercl