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

标签 android serialization kotlin kotlinx.serialization

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

@Serializable
      data class SearchBundle(
      @Serializable(with = DateSerializer::class) var startDate: Date? = null)

有人知道如何为日期数组列表做这件事吗?

最佳答案

可能比您当前的方法更简单,就是通过 UseSerializers-annotation 在您的 SearchBundle 类的文件级别指定 DateSerializer ,例如:

@file:UseSerializers(DateSerializer::class)

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

@Serializable
data class SearchBundle(
        var startDate: List<Date>? = null)

这样你就可以保持你的 DateSerializer 不变,你的代码的其余部分就可以正常工作,即它会自动为所有 Date 使用 DateSerializer >-该文件中的类型。

关于android - kotlinx.serialization - 使用自定义 DateSerializer 将 ArrayList<Date> 序列化为数据类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54889083/

相关文章:

android - 在 ListView 中设置 TextView 属性 - 奇怪的结果

Android EditText,minus通过inputType ="number|numberSigned|numberDecimal"转换成点事件

javascript - 使用 Python 从 Arduino 读取串行数据

java - 来自 Java 的 Kotlin null

android - 如何在 Android Lollipop 中推迟 Fragment 的进入转换?

android - 将谷歌地图标记保存到android studios中的SharedPreferences中

xml - 停止 xsd.exe 生成多维数组

c# - 接口(interface)/契约(Contract)中的 WCF HttpWebResponse 对象序列化

kotlin - 如何在 kotlin 中检查 "instanceof "类?

android - 与 SupervisorJob 的协程 - 取消行为