Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

240
Vistas
Serialización de listas con serializador kotlinx externo

Entonces, tengo esta clase Item.kt

 class Item { val name = "" val loc = "" val price = 0.0 override fun toString() = "$name <$loc> $price" }

Dado que esta clase está en otra biblioteca (no puedo editar su fuente), tengo un Serializador externo para ella.

ItemSerializer.kt

 @Serializer(forClass = Item::class) object ItemSerializer: KSerializer<Item> { override fun serialize(output: Encoder, obj: Item) { } override fun deserialize(input: Decoder): Item { return df.parse(input.decode()) } }

Ahora viene la parte difícil. Puedo usar esta clase en otra clase como se muestra a continuación

Carrito.kt

 @Serializable class Cart { val id: Long? = null @Serialize(with=ItemSerializer::class) val item:Item = Item() }

pero no sé cómo utilizar mi serializador cuando uso una lista de objetos de artículos. p.ej

Carrito.kt

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

¿Cómo debo hacerlo usando la serialización de kotlinx? ¿Tengo que escribir una biblioteca completamente nueva para serializar una lista y un mapa de la implementación del Item ?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

por ahora, solo agregue una declaración de anotación de archivo como esta al comienzo de su archivo (antes del nombre de su paquete)

 @file:useSerializer(ItemSerializer::class) package blah.blah
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda