2

如何使用 kotlinx 序列化对可选字符串列表进行字符串化?我想执行类似于:

val json = Json(JsonConfiguration.Stable)
val data: List<String?> = listOf("v1", null, "v3")
val dataJson = json.stringify(String.serializer().list, data)

但是,这不会编译。我知道这String.serializer().list提供了SerializationStrategy<List<String>>我需要的地方SerializationStrategy<List<String?>>。我怎样才能获得后者?

4

1 回答 1

5

您可以使用NullableSerializer

val dataJson = json.stringify(NullableSerializer(String.serializer()).list, data)
println(dataJson) // prints ["v1",null,"v3"]
于 2019-08-27T07:42:50.140 回答