使用外部kotlinx序列化程序序列化列表

使用外部kotlinx序列化程序序列化列表,kotlin,kotlinx.serialization,Kotlin,Kotlinx.serialization,我有一个类Item.kt class Item { val name = "" val loc = "" val price = 0.0 override fun toString() = "$name <$loc> $price" } 但是,当我使用项对象列表时,我不知道如何使用我的序列化程序。e、 g Cart.kt @Serializable class Cart { val id: Long? = null @Serializ

我有一个类Item.kt

class Item {
    val name = ""
    val loc = ""
    val price = 0.0
    override fun toString() = "$name <$loc> $price"
}
但是,当我使用项对象列表时,我不知道如何使用我的序列化程序。e、 g

Cart.kt

@Serializable
class Cart {
    val id: Long? = null
    @Serialize(with=ItemSerializer::class)
    val item:Item = Item()
}
@Serializable
class Cart {
    val id: Long? = null
    @Serialize(with=ItemSerializer::class) // doesn't work
    val items = mutableListOf<Item>()
}
@Serializable
班车{
val id:Long?=null
@Serialize(with=ItemSerializer::class)//不起作用
val items=mutableListOf()
}

我应该如何使用kotlinx序列化呢?我是否必须编写一个全新的库来序列化
项实现的列表和映射?

现在,只需在文件的最开始处(在包名之前)添加一个这样的文件注释语句即可


正确的语法是:@file:UseSerializers(ItemSerializer::class)
@Serializable
class Cart {
    val id: Long? = null
    @Serialize(with=ItemSerializer::class) // doesn't work
    val items = mutableListOf<Item>()
}
@file:useSerializer(ItemSerializer::class)
package blah.blah