【问题标题】:Dynamically building JSON with database results in Java在 Java 中使用数据库结果动态构建 JSON
【发布时间】:2016-08-27 11:27:21
【问题描述】:

我正在尝试基于我们的 RDBMS 返回的 ResultSet(s) 构建一个 JSON 对象。 ResultSet 中的每一行代表一个对象,我们希望将其作为 JSON 的一部分添加到数组中。我们已经在另一个文件中定义了 JSON 模式,我正在尝试弄清楚如何根据预定义的模式构建 JSON。

说实话,我不确定这是否是最好的方法。当第一次研究如何解决这个问题时,我正在查看JsonObjectBuilder,但是涉及的字段数量会变得非常混乱。

我认为我最好的选择可能是创建一个 POJO 来保存来自 ResultSet 的数据,然后使用 Jackson ObjectMapper 将其转换为所需的 JSON 格式。

简而言之:

  1. 如何根据架构动态创建 JSON 对象并填充数据库查询的结果?
  2. 如果这不可行或不高效,那么动态创建一个填充了数据库查询结果并遵循特定格式的 JSON 对象的更好/最佳方法是什么?

【问题讨论】:

  • 您究竟需要 JSON 做什么?如果我正确理解了这个问题,那么可序列化的 POJO 就可以了
  • JSON 将被发布到另一个端点,以便处理/插入到不同的数据库中。这就是它必须遵守特定格式的原因。
  • 我猜你必须坚持使用 RDBMS?如果是这样,那么 DB->POJO->JSON 是您拥有的最佳选择。

标签: java json jsonschema


【解决方案1】:

考虑退出 JDBC 游戏。 MyBatis 和 Hibernate(可能还有其他库)比您使用自己的解决方案做得更好。 如果您需要 MyBatis 中没有的功能,我建议使用 MyBatis 和 Hibernate。

考虑到这一点。为 MyBatis 查询的结果创建一个 POJO,然后使用 Jackson(或 gson 或其他 JSON 库)创建 JSON。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    相关资源
    最近更新 更多