杰克逊(JSON库)可以自动生成POJO进行反序列化吗?

时间:2014-04-29 20:13:14

标签: java json spring serialization jackson

我在Spring应用程序中使用Jackson将JSON流(来自REST服务)反序列化为POJO。 目前,我使用this Web实用程序从JSON流生成POJO。 重点是,将来我会处理不同的JSON流,我认为为不同的JSON流生成POJO会变得越来越复杂和令人沮丧。

有没有办法让项目从JSON流开始自动生成POJO?例如,QueryDSL库提供了一个Maven插件来生成用于查询构建的Q *类。 它是否存在杰克逊的类似插件或任何其他方式来完成任务?

先前的谢谢

Giulio的

2 个答案:

答案 0 :(得分:2)

杰克逊documentation没有提到类似的东西,我从来没有听说过你提到的任何东西。

您提到了在构建阶段生成Q *类的QueryDSL。这意味着您愿意使用额外的步骤来构建代码,这意味着使用 jsonschema2pojo MavenGradle插件不应该有任何麻烦

答案 1 :(得分:0)

您的REST设计可能存在问题。 REST端点应该非常具体。 每个休息端点应代表一个资源, 换句话说,域/ pojo通常代表数据库的实体。

如果您的端点收到多个资源表示,则可能最终结束 有一个巨大的DTO,很难维护。

通常,您构建域模型。这些域名是常规pojos,所以你会 用它们来转换json / java - java / json。 这应该很好地扩展。对模型的任何修改也会影响您的json流。 如果您修改域,则只有代表此资源的端点才会生效。