我正在使用 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/