我可以从类似于jaxb的json数据创建类

所以我的代码是api的客户端,数据作为xml返回,我已经能够从该xml的一些示例创建有效的xsd文件,然后从模式生成一些JAXB类,所以我的代码现在可以加载并使用xml数据,无需直接使用Xml。

但不幸的是,在api的最新版本中,他们已经放弃了xml支持,只返回json。 是否有一个json进程,我可以做类似于我的xml进程?

如果从架构中不可能有解决方案,那么如果我手动创建我的json类,我可以使用它们在原始json数据中自动管理,所以至少我只需要处理一次json。

编辑:也许https://github.com/ko5tik/jsonserializer会很有用

更新:仅供参考,所以我查看了jsonschema2pojo,但只是从模式中创建了pojos,而我实际上并没有json模式,只是实际的json。 我曾经从我的示例json创建一个架构但是没有让它为al工作但是最简单的例子。

然后我查看了http://wiki.fasterxml.com/JacksonInFiveMinutes ,如果Id设法让它工作,Jackson本来可以使用jsonschema2pojo创建的pojos。 所以我接着尝试了下面的例子并根据我的json数据创建了一个POJO,这很简单,然后我尝试使用这个完整的数据绑定,它第一次工作。

总而言之,我将使用Jackson来处理webservice返回的json,我将不得不为每个实体手动创建一个POJO,但至少它可以工作。

至于回答,也许试试“ jsonschema2pojo ”。

但之前已经提出过类似的问题:

  • 如何解析JSON模式并创建默认的json对象或生成java类?
  • 从JSON生成Java类?
  • 是否有工具通过Java从XML模式生成JSON模式?

如果你想从一个示例JSON文件创建POJO,我已经创建了一个(hacky)ruby脚本可以提供帮助。 我在另一个答案中添加了更多详细信息: https : //stackoverflow.com/a/8585423/1109175

你可以在github上找到代码: https : //github.com/wotifgroup/json2pojo

我认为没有相当于XSD的JSON,这使得你要求的内容真的很难实现。 首先,生成器程序无法可靠地推断出需要用于JSON对象属性的Java类型。 (在XML情况下, 进行了这些推导并在相应的XSD中表达了它们。)

不,我没有看到这样做的方法…… JSON没有架构定义,所以没有元数据来生成类。

编辑:我已经纠正了,有一个架构定义(草案),它已经从今年年初开始过期了,我没有遇到任何提供的架构。