首页 > 解决方案 > 在 Spring Boot 中序列化行 JSON 的最佳方法

问题描述

我有一个保存键值对的数据库。一个键可以用点作为分隔符(例如https.stackoverflow.com)。我必须通过这些键值对创建 JSON。例如,对于以下对

https.stackoverflow.com 1
https.facebook.com 2
https.something.de 3

我想获取以下 JSON,然后使用 Spring Boot 将其发送给客户端。

{
  "https" : [
    {
      "stackoverflow" : {
        "com" : "1"
      }
    },
    {
      "facebook" : {
        "com" : "2"
      }
    },
    {
      "something" : {
        "de" : "3"
      }
    }
  ]
}

问题是将此类对象保存在内存中以及如何将其发送给客户端的最佳实践是什么?

首先,我尝试手动创建 Gson 提供的 JsonObject 类的实例,但它没有实现 getter 并且不能被 Jackson 序列化。然后我决定创建一个映射,但是参数化存在一些问题:一个节点可以是不同的类型(映射、数组、字符串),这会导致过多的未经检查的强制转换。

标签: javajsonspringspring-bootjackson

解决方案


推荐阅读