我正在使用Jackson JSON库将JSON流映射到POJO中。
我的JSON密钥具有不可预知的名称 即
{
"Random_ID":
{
"Another_Random_ID":
{
"some_key": "value"
"some_key1": "value1"
}
}
...
}
我想将此请求映射到POJO(具有相同的结构),但是映射器将失败,因为没有这样的setXXX(其中XXX是random_id - 因为我无法预测名称)。
将此请求映射到相应对象的最佳方法是什么,而无需使用createJsonParser手动解析它。
答案 0 :(得分:4)
如果名称不可预测,那么POJO就不可能了。
但您可以使用树模型,例如:
JsonNode root = objectMapper.readTree(jsonSource);
并将其作为逻辑树进行访问。此外,如果您确实要转换树(或任何子树,由子树的根节点标识),您可以执行以下操作:
MyPOJO pojo = objectMapper.treeToValue(node, MyPOJO.class);
然后回到树
JsonNode node = objectMapper.valueToTree(pojo);