【发布时间】:2021-04-26 14:46:38
【问题描述】:
我使用的是 jackson-databind 2.9.10。我尝试升级版本。
我尝试了很多版本。但是,尝试使用最新的 2.12.2
对于所有高于 2.9.10 的版本,我在以下代码中遇到编译问题。
Map<String, List<Map<String, Object>>> result =
objectMapper.readValue(inputResponse, new TypeReference<Map<String, Object>>() {
});
问题:不兼容的类型:推理变量 T 的边界不兼容
输入响应是下面json的字符串格式:
{
"config": [{
"key1": "value1",
"key2": "value2",
"key3": [{
"key3.1": "value3.1",
"key3.2": "value3.2",
"key3.3": [{
"key3.3.1": "value3.3.1",
"key3.3.2": "value3.3.2"
}]
}]
}]}
【问题讨论】:
-
根据 Spring / Spring Boot 的版本,由于 Jackson 中的 API 更改,您必须绑定到某个版本(范围)。
-
我也试过那个。我将 spring starter 更改为特定 jackson mapper 版本高于 2.9.10 的版本。尽管如此,问题仍然存在。 github.com/spring-projects/spring-boot/releases/tag/…
-
你不能只改变一个启动器的版本,你必须升级所有的。混合来自不同版本的启动器会导致问题。
标签: java spring spring-boot jackson jackson-databind