Java 如何设置Json模式的类型?

Java 如何设置Json模式的类型?,java,json,type-conversion,jackson,jsonschema,Java,Json,Type Conversion,Jackson,Jsonschema,我有一个Json模式(如下所示),它是由Jackson通过表示Json类创建的 "startDate" : { "type" : "number" }, "endDate" : { "type" : "number" }, 但我希望startDate和endDate的类型是字符串,而不是数字或整数。有什么办法可以实现吗 谢谢。您需要显示原始Java对象以获取更多信息 无论如何,Jackson中JSON模式生成的可配置性是有限的;但如果将其移动到一个模块中,还可以做更多的事情,包括增加大

我有一个Json模式(如下所示),它是由Jackson通过表示Json类创建的

"startDate" : {
  "type" : "number"
},
"endDate" : {
  "type" : "number"
},
但我希望
startDate
endDate
的类型是字符串,而不是数字或整数。有什么办法可以实现吗


谢谢。

您需要显示原始Java对象以获取更多信息


无论如何,Jackson中JSON模式生成的可配置性是有限的;但如果将其移动到一个模块中,还可以做更多的事情,包括增加大量的可配置性。欢迎随时提供意见。

您能帮助我们更好地了解您的背景吗?该架构是根据您不拥有的对象描述生成的?当然。我有一个Pojo类,它有两个XMLgregorianCalendar数据类型的变量,我在Jackson方法--generateJsonSchema()的帮助下使用Pojo类生成Json模式。我得到的输出与上面提到的类似(即Json模式中的startDate和endDate的类型应该是string)。相反,它是数字。现在我希望输出为字符串类型。当然,我不想在POJO中更改变量的数据类型。在任何情况下都可以吗?谢谢你欢迎我。当然为了让您了解我的问题,下面是我的POJO中的变量(4)。受保护字符串empID;受保护的字符串名称;保护串名称;受保护的司法部;在Jackson将POJO转换为Json模式时,我得到了除doj之外的所有变量的预期输出。{…“doj”:{“type”:“number”}}现在我想把这个特殊的类型从number改为String。希望我现在明白了。我不知道有哪种方法能肯定有效;但是还有“SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS”——启用哪个选项可能会有所帮助?否则,我建议使用“@JsonSerialize(as=String.class)”,但这可能会破坏序列化。@staxman现在它是一个模块,现在可以吗?谢谢。@IDANGAGARVALLA先生,我建议你试试看。我现在还不知道,JSON模式模块本身在这一点上没有维护程序,可能会被弃用,因为有更好的外部工具。