如何使用Jackson使用动态键反序列化JSON文档?

如何使用Jackson使用动态键反序列化JSON文档?,json,jackson,Json,Jackson,我有这样一个JSON格式的字符串,键是一个随机数 { "tasks": { "0": { "key1": "value1" }, "100": { "key1": "value2" } } 如何使用Jackson将其转换为Java对象 如何定义Java类以便像这样使用Jackson ObjectMapper objectMapper = new ObjectMapper(); objectMapper.readValue(myStr,

我有这样一个JSON格式的字符串,键是一个随机数

{
  "tasks": {
    "0": {
     "key1": "value1"
    },
    "100": {
      "key1": "value2"
    }
}
如何使用Jackson将其转换为Java对象

如何定义Java类以便像这样使用Jackson

ObjectMapper objectMapper = new ObjectMapper();
objectMapper.readValue(myStr, XXXX);

根据您的需要,您可以使用以下几种方法:

使用JsonNode 您可以将JSON解析为Jackson树模型。也就是说,从包中插入:

ObjectMapper mapper=新的ObjectMapper; JsonNode tree=mapper.readTreejson; 您还可以使用Jackson将解析为POJO:

MyBean=mapper.treeToValuejsonNode,MyBean.class; 使用地图 根据您的要求,您可以使用地图而不是:

ObjectMapper mapper=新的ObjectMapper; Map parsed=mapper.readValuejson, 新类型引用{}; 要将地图转换为POJO,请使用:

MyBean=mapper.convertValuemap,MyBean.class;
可能是重复的谢谢。与提供的链接有点不同。这不是我的JSON字符串中的列表。你看过了吗?请让我知道我的列表是否适合你