JSON 架构中的日期对象

Date object in JSON schema

我有我的 json 架构 createdAt 作为

{
  "title": "details",
  "definitions": {
    "dateTime": {
      "type": "string",
      "format": "date-time"
    },
  "properties" : {
    "createdAt": { "$ref": "#/definitions/dateTime" }
  }
}

当我尝试创建对象时

Details details = ImmutableDetails.builder()
         .createdAt(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
           .parse("2021-11-30T00:22:11.454Z"))
         .build(); 

我得到的错误是

createDate: [Nov 30, 2021, 0:22:11 AM] is not a valid date-time. 
Expected [yyyy-MM-dd'T'HH:mm:ssZ, yyyy-MM-dd'T'HH:mm:ss.[0-9]{1,9}Z, 
          yyyy-MM-dd'T'HH:mm:ss[+-]HH:mm, yyyy-MM-dd'T'HH:mm:ss.[0-9]{1,9}[+-]HH:mm] 

如何指定我的 JSON 模式来接受 java.util.Date 对象?

JSON 架构中的“日期-时间”格式遵循 RFC3339。这是看起来像 2021-12-31T23:59:59Z2021-12-31T23:59:59-05:30 的时间戳,这正是错误消息所说的。

您已经从正确格式的时间戳开始,然后将它们转换为不可接受的格式——因此只需删除该部分。