You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置JSON Schema以支持接收java.util.Date类型对象

问题原因

校验失败的核心是两个问题:

  1. 当前JSON Schema中format: date-time默认要求遵循RFC3339规范的时间字符串,和java.util.Date默认序列化输出的本地化可读时间格式不兼容
  2. 你贴出的原始JSON Schema存在语法错误:definitions下的dateTime定义结束后缺少闭合的}

解决方案

方案1:调整JSON Schema兼容现有java.util.Date序列化格式

如果不需要遵循通用时间规范,直接去掉默认的format校验,换成匹配当前输出格式的正则校验即可,调整后的完整Schema如下:

{
  "title": "details",
  "definitions": {
    "dateTime": {
      "type": "string",
      "pattern": "^[A-Z][a-z]{2} \\d{1,2}, \\d{4}, \\d{1,2}:\\d{2}:\\d{2} [AP]M$"
    }
  },
  "properties" : {
    "createdAt": { "$ref": "#/definitions/dateTime" }
  }
}

上述正则可以完美匹配报错中出现的Nov 30, 2021, 0:22:11 AM这类时间格式。

方案2(更推荐):不改Schema,调整Java序列化逻辑

如果希望遵循通用的RFC3339时间规范,避免后续跨系统调用出现兼容问题,不需要调整JSON Schema,只需要把java.util.Date的序列化格式改成你解析时用的yyyy-MM-dd'T'HH:mm:ss.SSS'Z'格式即可。

内容的提问来源于stack exchange,提问作者Logic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 23:36:04