在Java中使用数据库动态构建JSON
我正试图基于RDBMS返回的结果集构建一个JSON对象。ResultSet中的每一行表示一个对象,我们希望将其作为JSON的一部分添加到数组中。我们在另一个文件中定义了JSON模式,我正试图找出如何基于预定义模式构建JSON 老实说,我不确定这是否是最好的方法。当我第一次研究如何实现这一点时,我正在研究在Java中使用数据库动态构建JSON,java,json,jsonschema,Java,Json,Jsonschema,我正试图基于RDBMS返回的结果集构建一个JSON对象。ResultSet中的每一行表示一个对象,我们希望将其作为JSON的一部分添加到数组中。我们在另一个文件中定义了JSON模式,我正试图找出如何基于预定义模式构建JSON 老实说,我不确定这是否是最好的方法。当我第一次研究如何实现这一点时,我正在研究JsonObjectBuilder,但是由于涉及的字段太多,它会变得非常混乱 我认为我的最佳选择可能是创建一个POJO来保存来自ResultSet的数据,然后使用JacksonObjectMapp
JsonObjectBuilder
,但是由于涉及的字段太多,它会变得非常混乱
我认为我的最佳选择可能是创建一个POJO来保存来自ResultSet的数据,然后使用JacksonObjectMapper
将其转换为所需的JSON格式
简言之:
考虑退出JDBC游戏。 MyBatis和Hibernate(可能还有其他LIB)比使用roll-your自己的解决方案做得更好。 我建议MyBatis用于简单的东西,如果您需要MyBatis中没有的功能,请使用Hibernate
记住这一点。为MyBatis查询的结果创建一个POJO,然后使用Jackson(或gson或其他一些JSON库)创建JSON。您需要JSON的具体用途是什么?如果我正确理解了这个问题,一个可序列化的POJO将起作用,JSON将被发布到另一个端点,以便处理/插入到另一个数据库中。这就是为什么它必须遵循特定的格式。我猜你必须坚持使用RDBMS?如果是这样的话,那么DB->POJO->JSON是最好的选择。