kotlinx.serialization - 使用自定义 DateSerializer 将 ArrayList<Date> 序列化为数据类变量

Web*_*dma 3 serialization android kotlin kotlinx.serialization

我需要使用自定义 DateSerializer 将 ArrayList 序列化为数据类变量,我使用注释的单个日期变量:

@Serializable
      data class SearchBundle(
      @Serializable(with = DateSerializer::class) var startDate: Date? = null)
Run Code Online (Sandbox Code Playgroud)

有人知道如何处理日期数组吗?

Rol*_*and 7

可能比您当前的方法更简单,只需通过-annotation指定-class 的DateSerializer文件级别,例如:SearchBundleUseSerializers

@file:UseSerializers(DateSerializer::class)

import kotlinx.serialization.*
import java.util.*

@Serializable
data class SearchBundle(
        var startDate: List<Date>? = null)
Run Code Online (Sandbox Code Playgroud)

这样您就可以保持DateSerializer原样,而您的其余代码就可以正常工作,即它将自动DateSerializer用于Date该文件中的所有类型。