JSON 反序列化包含空值的集合

JSON Deserialization of collections that contain null values

我得到以下 JSON 字符串:

{"userIds":[null, "FA9C67A8-1C22-4393-A701-136C85BB0D6F"]}

我想将其反序列化为具有一个元素(UUID)的集合。我的目标 class 看起来有点像这样:

data class TestDto(
    val userIds: Set<UUID> = emptySet(),
    [...]
)

我正在使用 Kotlin 1.5.21,Spring-Boot 2.4.4。 userIds 的类型不允许集合中有空值。但是,当反序列化 JSON 字符串时,该集合包含两个值,空值和 UUID。这导致 NullPointerException 后来我实际上认为可以通过将类型设置为 Set<UUID> 而不是 Set<UUID?>.

来消除

如果提供了反序列化,我如何ignore/filter排除任何空值?

我觉得

@JsonSetter(contentNulls = Nulls.SKIP)
val userIds: Set<UUID> = emptySet(),
[...]

应该可以解决问题