Java 反序列化动态键值

Java 反序列化动态键值,java,spring-boot,jackson,Java,Spring Boot,Jackson,我有一个类似于此的json结构 { "Byc-yes": { // < code "Updated": "week", // < period "Time": "12pm" // < time }, "Uop-thp":{ "Updated": "week", "Time": "12pm } , ... 是否有任何本机JACKSON映射程序可以执行此操作,或者我需要为此创建自己的自定义反序列化程序?我将以Map.class的

我有一个类似于此的json结构

{
  "Byc-yes": { // < code
    "Updated": "week", // < period
    "Time": "12pm" // < time
  },
  "Uop-thp":{
    "Updated": "week",
    "Time": "12pm
  } ,
  ...
是否有任何本机JACKSON映射程序可以执行此操作,或者我需要为此创建自己的自定义反序列化程序?

我将以Map.class的形式读取它,然后遍历键集以提取值

ObjectMapper objectMapper = new ObjectMapper();
    Map map = objectMapper.readValue(s, Map.class);
    for (Object o : map.keySet()) {
        String key = (String) o;
        System.out.println(key);//prints Byc-yes for first
        Map<String, String> value = (Map<String, String>) map.get(key);
        System.out.println(value); //prints {Updated=week, Time=12pm} for first
        Updating updating = new Updating(key, value.get("Updated"), value.get("Time"));
        System.out.println(updating);
    }

假设更新和时间是固定键。

明白了。我忘了告诉你我正在使用unirest进行get请求。这种方法仍然有效?只要您获得有效的json,上述方法就应该有效
ObjectMapper objectMapper = new ObjectMapper();
    Map map = objectMapper.readValue(s, Map.class);
    for (Object o : map.keySet()) {
        String key = (String) o;
        System.out.println(key);//prints Byc-yes for first
        Map<String, String> value = (Map<String, String>) map.get(key);
        System.out.println(value); //prints {Updated=week, Time=12pm} for first
        Updating updating = new Updating(key, value.get("Updated"), value.get("Time"));
        System.out.println(updating);
    }