Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从JsonSchema生成Java POJO模型(最好使用JAXB)_Java_Xsd_Jaxb_Jsonschema - Fatal编程技术网

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

从JsonSchema生成Java POJO模型(最好使用JAXB),java,xsd,jaxb,jsonschema,Java,Xsd,Jaxb,Jsonschema,我们有一个通过JSON模式定义的抽象数据模型。显然,如果有必要的话,我们可以使用XSD,在这里和那里做一些调整。然而,我们的POJO可以在XML和JSON数据存储上互换使用,出于业务原因,我们希望模式是JSON模式 我想使用这个JSON模式通过JAXB生成一个Java类模型。换句话说,我们希望使用JSON模式作为源文件,而不是将XSD作为输入传递给JAXB。我认为有两种方法可以做到这一点 将JSON模式写入XSD转换器。(有一个名为的库,它可能使我们不必编写自己的编译器。)将生成的XSD文件馈送

我们有一个通过JSON模式定义的抽象数据模型。显然,如果有必要的话,我们可以使用XSD,在这里和那里做一些调整。然而,我们的POJO可以在XML和JSON数据存储上互换使用,出于业务原因,我们希望模式是JSON模式

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

  • 将JSON模式写入XSD转换器。(有一个名为的库,它可能使我们不必编写自己的编译器。)将生成的XSD文件馈送到JAXB中
  • 编写一个解析器,将JSON模式转换为中间数据结构,JAXB将其用作代码生成器的输入
  • 顺便说一句,我更喜欢第二种选择,以避免不必要的中间模式,但我无法在网上找到任何关于如何创建有效模型的文档。看来我需要做大量的代码挖掘来准确地找出这个模型需要做什么。以前有人这样做过吗?有没有我忽略的文档?你认为哪一种方法更有效

    (PS-是的,我已经看过了,它将完全从图片中删除JAXB。但是,我很不满意它对JSON模式规范的覆盖(它是后面的四个草稿,甚至完全不支持它),我宁愿依赖一个更坚实的代码生成器基础,比如JAXB。)