3

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

我的 JSON 密钥具有不可预测的名称。
IE

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

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

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

4

1 回答 1

4

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

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

JsonNode root = objectMapper.readTree(jsonSource);

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

MyPOJO pojo = objectMapper.treeToValue(node, MyPOJO.class);

回到树上

JsonNode node = objectMapper.valueToTree(pojo);
于 2012-08-27T18:13:45.190 回答