jsonschema 和日期类型
jsonschema and date type
我刚刚开始使用 jsonschema 和下面的示例
"Using jsonschema2pojo within your Java project (embedded)"
在
https://github.com/joelittlejohn/jsonschema2pojo/wiki/Getting-Started
记住此处列出的 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" }
}
}
不幸的是,生成的 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);
}
有一个对象类型的成员 "displayDate" 而不是预期的日期。为什么?
date
不是 type
的有效值。 displayDate
应该定义为
{ "type": "string", "format": "date" }
我不知道 jsonschema2pojo 是否会像你想要的那样将其转换为 Date 对象,但它似乎默认为 Object 而不是在遇到 type
的无效值时抛出错误。
根据最新的 jsonschema2pojo 文档,对于类型 Date
,您需要执行以下操作:-
{ "type": "string", "format": "date-time" }
在生成的 POJO 中,属性 将是 Date
对象类型
我刚刚开始使用 jsonschema 和下面的示例 "Using jsonschema2pojo within your Java project (embedded)" 在 https://github.com/joelittlejohn/jsonschema2pojo/wiki/Getting-Started
记住此处列出的 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" }
}
}
不幸的是,生成的 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);
}
有一个对象类型的成员 "displayDate" 而不是预期的日期。为什么?
date
不是 type
的有效值。 displayDate
应该定义为
{ "type": "string", "format": "date" }
我不知道 jsonschema2pojo 是否会像你想要的那样将其转换为 Date 对象,但它似乎默认为 Object 而不是在遇到 type
的无效值时抛出错误。
根据最新的 jsonschema2pojo 文档,对于类型 Date
,您需要执行以下操作:-
{ "type": "string", "format": "date-time" }
在生成的 POJO 中,属性 将是 Date
对象类型