我正在使用 Jackson JSON 库将 JSON 流映射到 POJO。

我的 JSON 键的名称不可预测。
IE

{
  "Random_ID":
   {
        "Another_Random_ID":
        {
            "some_key": "value"
            "some_key1": "value1"
        }
   }
   ...
}

我想将此请求映射到 POJO(具有相同的结构),但是映射器将失败,因为没有这样的 setXXX(其中 XXX 是 random_id - 因为我无法预测名称)。

将此请求映射到相应对象而不使用 createJsonParser 手动解析它的最佳方法是什么。

最佳答案

如果名称不可预测,则 POJO 不是可行的方法。

但是您可以使用树模型,例如:

JsonNode root = objectMapper.readTree(jsonSource);

并将其作为逻辑树访问。此外,如果您确实想要转换树(或任何子树,由作为子树根的节点标识),您可以执行以下操作:
MyPOJO pojo = objectMapper.treeToValue(node, MyPOJO.class);

然后回到树
JsonNode node = objectMapper.valueToTree(pojo);

关于json - 将不可预测的键从 JSON 映射到 POJO,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12144757/

10-13 03:25