Java 中的序列化日期

2024-05-02

我通过 Web 服务传递一些对象,其中一些包含 java.sql.Date。因为 Date 没有空的构造函数,所以它不想被序列化。

问题的第一部分很简单:在客户和服务之间传递日期的最佳方式是什么?

第二部分有点棘手:一旦我决定如何传递日期,我显然可以声明日期瞬态并创建一些包装类以字符串或其他形式传递日期,但是如何尽可能透明地将相同的解决方案应用于包含日期的多个类?

(我有一种预感,DynamicProxy 可能是一个解决方案,但是阅读 Sun 网站上的文档并不是很有帮助,所以如果它确实是朝着这个方向发展的,那么我们将不胜感激)

编辑:我问了错误的问题,抱歉(我和同事之间存在一些误解,实际上是什么问题)。由于反序列化而出现问题。因此,一旦我有了 xml 格式的日期,它就会尝试将自身反序列化为 GregorianCalendar。问题的其他部分仍然存在:接收某些内容(长时间戳或 GregorianCalendar)并将其转换为 sql 日期的最佳方式是什么,而不需要为 10 个不同的类制作 10 个不同的包装器。我使用 NetBeans 来生成代码和 wsdl。


乔达时间

Date 类有一个笨重的 API。更好的实现是乔达时间 http://www.joda.org/joda-time/.

ISO 8601

Joda-Time 还允许您将日期转换为ISO 8601 https://en.wikipedia.org/wiki/ISO_8601标准格式(yyyy-mm-ddTHH:MM:SS.SSS)。将日期从服务器移动到客户端时使用此标准具有以可读格式包含完整日期的优点。当你使用例如JAXB http://docs.oracle.com/javase/tutorial/jaxb/intro/,日期的 XML 表示也是这个 ISO 标准。 (请参阅 XMLGregorianCalendar 类)

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

Java 中的序列化日期 的相关文章

随机推荐

  • 如何获取 UITableView 中特定行的高度

    In my UITableView我使用委托方法为不同的行设置了不同的高度 tableView heightForRowAtIndexPath 现在给定一个NSIndexPath 我想获取之前为特定行指定的高度 你可以用这个 CGRect
  • CIFIlter 是否有替代方案可以在 watch os 6 中生成二维码

    我正在开发一个独立于手表的应用程序 我想在 watchkit 上生成二维码 但是由于 coreImage 不能与 watchkit 一起使用 我们还有其他方法可以做到这一点吗 Thanks 我使用支持 watchos 的库 例如EFQRCo
  • 以编程方式将 LinearLayout 高度更改为 0

    我正在调整大小LinearLayout从原来的高度到0 with ViewGroup LayoutParams params getLayoutParams params height newHeight requestLayout 一切正
  • 代码改进:此模式的更好替代方案?

    在类似的问题中 这种模式叫什么 软锁 https stackoverflow com questions 7259436 what is this pattern called soft lock 我询问下面的代码清单的模式名称 publi
  • 产生并处理软件中断

    有人可以告诉我如何在Linux下生成软件中断然后用request irq处理它吗 或者也许这是不可能的 您可以使用软中断来代替 您可以通过编辑 include linux interrupt h 来定义您的 sofirq 然后使用函数 ra
  • 有没有办法忽略 ASP.NET Core 中 HTTP 日志记录中的 swagger 响应?

    我有一个使用 net 7 创建的 asp net Web api 我启用了http 日志记录 https learn microsoft com en us aspnet core fundamentals http logging vie
  • Smart Lock 登录提示 setPhoneNumberIdentifierSupported 不起作用

    我正在尝试使用 HintRequest 获取用户电话号码 PendingIntent intent Auth CredentialsApi getHintPickerIntent googleApiClient new HintReques
  • 如何响应 vaadin 中表格行的点击

    我有以下代码 public Button getBtnSubmit com vaadin ui Button ClickListener l if null l btnSubmit addListener l return btnSubmi
  • 如何将 Android USB 连接模式更改为仅充电? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 我可以设置默认的全局 Java 套接字超时吗?

    我遇到了一个问题 应用程序中涉及 http 和 ftp 连接的各个位置在 java net SocketInputStream socketRead0 上无限期地挂起 在终止 java 进程之前一次观察几个小时 我想全局覆盖默认的套接字超时
  • “ok glass”菜单中没有连接消息

    我正在开发一个应用程序 当用户从菜单中选择选项时 它会在时间轴中添加一张实时卡 就像示例应用程序一样 我注意到 当您没有任何连接时 玻璃上的本机应用程序 例如 Google 会在 ok glass 菜单中显示 无网络连接 消息 并且无法运行
  • Javascript对象引用链接到数组中的对象?

    如果我有一个对象 var array var theobject null array push song The Song artist The Artist song Another Song artist Another Artist
  • R如何删除字符串中非常特殊的字符?

    我正在尝试删除字符串中的一些非常特殊的字符 我读过其他帖子 例如 从 R 中的字符串中删除所有特殊字符 https stackoverflow com questions 10294284 remove all special charac
  • Plotly 中所有地理范围的列表

    我正在尝试使用在地图上绘制数据plotly js 我知道您可以通过以下方式获得一个国家的地图 layout dict title geo dict scope usa 我们有可用范围的列表吗 不同的地区 某个地方 我尝试过谷歌搜索但似乎找不
  • 如何训练斯坦福 NLP 情感分析工具

    地狱大家 我正在使用斯坦福核心 NLP 包 我的目标是对推文直播进行情感分析 按原样使用情感分析工具对文本 态度 的分析非常差 许多积极因素被标记为中性 许多消极因素被评为积极 我已经在文本文件中获取了超过一百万条推文 但我不知道如何实际获
  • R:计算数据框的边距或行和列总和

    我有一个如下所示的数据框 Flag1 Flag2 Type1 Type2 Type3 1 A FIRST 2 0 0 2 A SECOND 1 9 0 3 A THIRD 3 7 0 4 A FOURTH 9 18 0 5 A FIFTH
  • QCalendarWidget - 如何突出显示日期

    我有一个QList
  • 最近用 Java 编写的 FFTW 包装器

    我正在寻找最新版本的最小 Java 包装器FFTW http www fftw org FFTW 网站上列出的包装器要么已过时 jfftw 1 2 zip ftp ftp fftw org pub fftw jfftw 1 2 zip 或包
  • sqlite 无法识别通用列表

    在 Windows 应用商店应用程序项目中 我从 Web 服务获取 JSON 如下所示 http paste2 org jfMJ2AGA http paste2 org jfMJ2AGA 我有这两门课 public class media
  • Java 中的序列化日期

    我通过 Web 服务传递一些对象 其中一些包含 java sql Date 因为 Date 没有空的构造函数 所以它不想被序列化 问题的第一部分很简单 在客户和服务之间传递日期的最佳方式是什么 第二部分有点棘手 一旦我决定如何传递日期 我显