Escribe para buscar…

Fonaments

La serialització ens permet transformar unes dades en un "string".

Esta página todavía no se ha traducido — se muestra en su idioma original:Català

Introducció

La serialització de dades no és tan fàcil com pot semblar al principi, perquè la majoria de les dades que consumim o produïm no s’ajusten exactament a la definició de les nostres classes.

Projecte: https://gitlab.com/xtec/kotlin/serialization

Entorn de treball

Crea un projecte serial amb Amper.

Kotlin Serialization és la biblioteca oficial multiplataforma i multiformat de serialització per a Kotlin.

Si necessites (de)serialitzar classes Kotlin des de/cap a JSON, pots habilitar Kotlin Serialization en la seva forma més simple:

yaml
settings:
  kotlin:
    serialization: json  # JSON or other format

Aquest fragment configura el compilador per processar classes @Serializable, i afegeix dependències al temps d’execució de serialització i a les biblioteques de format JSON.

També pots personalitzar la versió de les biblioteques de Kotlin Serialization utilitzant la forma completa de la configuració:

yaml
settings:
  kotlin:
    serialization:
      format: json
      version: 1.7.3

Modifica el fitxer module.yaml:

yaml
module.yaml
product: jvm/app
settings:
  kotlin:
    serialization: json

Serialitzar

En la nostra aplicació la informació està objectes Data.

Per guardar una dada primer l’has de convertir en un String.

La manera més habitual és convertir una dada a JSON

Has d’anotar la data class com @Serializable perquè el “plugin” de serialitzador del compilador generi el mètode serializer().

El mètode serializer() descompon l’objecte en un conjunt de valor primitius:

kotlin
import kotlinx.serialization.*

@Serializable
data class Person(val name: String, val married: Boolean)

fun main() {
    println(Person.serializer().descriptor)
}

Estás leyendo una vista previa.

Inicia sesión para leer el artículo completo. Cualquier cuenta abre 4 artículos gratuitos al mes; el alumnado y el profesorado leen las páginas de su curso sin límite.

Iniciar sesión