jsonschema 和日期类型

hhg*_*hhg 6 java json pojo jsonschema

我刚刚开始使用 jsonschema 和https://github.com/joelittlejohn/jsonschema2pojo/wiki/Getting-Started 中“在 Java 项目中使用 jsonschema2pojo(嵌入式)”下的示例

考虑到此处列出的 jsonschema 数据类型 https://developers.google.com/discovery/v1/type-format?hl=en

我的架构对象可以描述为

{    
    "$schema": "http://json-schema.org/draft-04/schema",
    "description": "Document",
    "type": "object",

    "properties": {
        "displayDate": { "type": "date" },
        "displayName": { "type": "string" }
    }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,生成的 Pojo 对象将是

package com.example;

public interface Document {

   java.lang.Object getDisplayDate();

   void setDisplayDate(java.lang.Object arg0);

   java.lang.String getDisplayName();

   void setDisplayName(java.lang.String arg0);

}
Run Code Online (Sandbox Code Playgroud)

有一个对象类型的成员“displayDate”,而不是预期的日期。为什么?

Jas*_*ers 5

date不是 的有效值typedisplayDate应定义为

{ "type": "string", "format": "date" }
Run Code Online (Sandbox Code Playgroud)

我不知道 jsonschema2pojo 是否会像您想要的那样将其转换为 Date 对象,但它似乎默认为 Object 而不是在遇到type.