Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javajackson反序列化_Java_Json_Jackson_Deserialization - Fatal编程技术网

javajackson反序列化

javajackson反序列化,java,json,jackson,deserialization,Java,Json,Jackson,Deserialization,我花了一段时间试图找到使用fasterxml.jackson将以下结构反序列化为java对象的方法 很明显,“纽约”和“波士顿”是关键,而不是我必须在地图中解开的模式 Map<String, Object> jsonMap = mapper.readValue(jsonString, new TypeReference<Map<String,Object>>(){}); 谢谢JSON字符串不适合您预期的数据模型Map或

我花了一段时间试图找到使用fasterxml.jackson将以下结构反序列化为java对象的方法

很明显,“纽约”和“波士顿”是关键,而不是我必须在地图中解开的模式

Map<String, Object> jsonMap = mapper.readValue(jsonString,
                    new TypeReference<Map<String,Object>>(){});

谢谢

JSON字符串不适合您预期的数据模型
Map
Map
。实际上有两个级别的映射,NewYork->schedules->List Of Schedule

因此,我们应该使用下面的TypeReference和两级映射来进行反序列化

mapper.readValue(jsonString, new TypeReference<Map<String, Map<String, List<Schedule>>>>(){});

JSON字符串不适合预期的数据模型
Map
Map
。实际上有两个级别的映射,NewYork->schedules->List Of Schedule

因此,我们应该使用下面的TypeReference和两级映射来进行反序列化

mapper.readValue(jsonString, new TypeReference<Map<String, Map<String, List<Schedule>>>>(){});

请编辑问题并发布您正在尝试的代码和特定问题。谢谢你看了这里-谢谢@OldProgrammer,我在你提供的链接中没有发现任何有用的东西。请编辑问题并发布你正在尝试的代码和具体问题。谢谢你看了这里-谢谢@OldProgrammer,我在你提供的链接中没有发现任何有用的东西。
mapper.readValue(jsonString, new TypeReference<Map<String, Map<String, List<Schedule>>>>(){});
{
  "NewYork": [
      {
        "date": "2020-10-31",
        "flightNo": "UA110",
        "depart": "17:30PM"
      },
       {
        "date": "2020-11-01",
        "flightNo": "UA230",
        "depart": "18:30PM"
      }
 ],
 "Boston": [
      {
        "date": "2020-11-01",
        "flightNo": "AM110",
        "depart": "08:00AM"
      },
       {
        "date": "2020-11-01",
        "flightNo": "CA230",
        "depart": "10:30AM"
      }
    ]
}