首页 > 解决方案 > 使用可为空参数解析 kotlin Pair 在空 json 上失败

问题描述

我发现这ObjectMapper往往会省略可为空的参数。

以下表达式:

objectMapper.readValue<Pair<String?,Long?>>("{}")

原因:

由 com.fasterxml.jackson.module.kotlin.MissingKotlinParameterException 引起:
[简单类型,类 kotlin.Pair] 的实例化
由于缺少创建者的值(因此为 NULL),JSON 属性的值首先失败
参数 first 是 [Source: (String)"{}" 处的不可空类型;行:1,列:2]
(通过参考链:kotlin.Pair["first"])

尽管:

data class InternalPair(val first: String?, val second: Long?)

objectMapper.readValue<InternalPair>("{}")

工作正常。

它是有意的还是一个错误?

标签: kotlinjacksonobjectmapper

解决方案


推荐阅读