从JsonSchema生成Java POJO模型(最好使用JAXB)

时间:2018-08-23 18:00:13

标签: java xsd jaxb jsonschema

我们有一个通过JSON Schema定义的抽象数据模型。显然,如果需要的话,我们可以使用XSD来代替,并在其中进行一些调整。但是,我们的POJO可在XML和JSON数据存储中互换使用,并且出于商业原因,我们希望该模式为JSON模式。

我想使用此JSON模式通过JAXB生成Java类模型。换句话说,我们不是将XSD作为输入传递给JAXB,而是要使用JSON Schema作为源文件。我看到两种方法可以做到这一点。

  1. 编写一个JSON模式到XSD的转换器。 (那里有一个名为json2xsd的库,可能使我们不必编写自己的编译器。)将生成的XSD文件输入JAXB。
  2. 编写一个解析器,将JSON模式转换为中间数据结构com.sun.tools.xjc.model.Model,JAXB将该中间数据结构用作其代码生成器的输入。

另一方面,我希望第二种选择是避免不必要的中间模式,但是我找不到在线有关如何创建有效模型的文档。看来我不得不做大量的代码潜水工作才能弄清楚究竟该模型需要什么。有人做过吗?是否有我可以忽略的文档?有什么想法实际上是更好的方法?

(PS-是的,我看过jsonschema2pojo,它将完全从图片中删除JAXB。但是,我对其JSON Schema规范的覆盖范围非常满意(这是其后的四个草稿,甚至不完全支持该代码),而我宁愿依靠像JAXB这样更牢固的代码生成器基础。)

0 个答案:

没有答案