Serialización de Kotlin

Serialización de Kotlin
No es posible compartir código en todas las plataformas. Io, transformaciones, roscas y serialización, por mencionar algunos, se manejan de manera diferente en cada plataforma que desea admitir. Ya hay varias bibliotecas que admiten la serialización de Kotlin e incluso pueden producir el código Kotlin, siendo Moshi de Square el más conocido.

En este artículo, tendremos una breve discusión sobre la serialización de Kotlin.

¿Qué son la serialización y la deserialización en Kotlin??

La serialización es la técnica de transformar los datos de una aplicación en un formato que se puede enviar a través de una red o que se puede guardar en la base de datos o archivo. La deserialización, por otro lado, es el acto de extraer datos de una ubicación remota y transformarlos en un objeto de tiempo de ejecución. Ambos son componentes requeridos en la mayoría de las aplicaciones que interactúan con datos con partes externas.

Los buffers de JSON y Protocol son dos ejemplos de formatos de serialización de datos que se utilizan ampliamente. Permiten que los datos fluyan a través de sistemas construidos en cualquier idioma moderno porque son un lenguaje y una plataforma agnóstica.

Las capacidades de serialización de datos en Kotlin se pueden encontrar en un componente independiente llamado Kotlinx. publicación por entregas. Las bibliotecas de tiempo de ejecución y el complemento de gradle-ORG.rejilla.kotlín.enchufar.Serialización: son los dos componentes principales.

Bibliotecas de serialización de Kotlin

Todas las bibliotecas de serialización de Kotlin están contenidas en la organización.Paquete de JetBrains. Kotlinx es un nombre para un grupo de personas. Tienen sufijos que representan el formato de serialización y comienzan con Kotlinx-serialización.

Ejemplos:

La serialización de JSON para proyectos Kotlin es proporcionada por Org.rejilla.Kotlinx: kotlinx-serialization-json.
La serialización de CBOR es proporcionada por Org.rejilla.Kotlinx: kotlinx-serialization-cbor.

No necesita agregar manualmente artefactos específicos de la plataforma porque se manejan automáticamente. Los proyectos JVM, JS, nativos y multiplataforma utilizan las mismas dependencias.

Cómo utilizar la serialización de Kotlin en el código

Antes de continuar con el código de serialización de Kotlin, asegúrese de que su script de compilación esté configurado para permitirle utilizar herramientas de serialización de Kotlin en su proyecto.

En tu proyecto Build.graduarse.archivo kts usa el kotlin ("complemento.serialización ”) en el bloque de complementos.

Entonces, en tu construcción.Gradle (.KTS) Archivo, agregue la dependencia de la biblioteca de tiempo de ejecución "Org.rejilla.Kotlinx: Kotlinx-Serialization-Json: 1.0.0 "al bloque de su dependientes.

Para comprender la serialización de Kotlin, debe echar un vistazo a los siguientes ejemplos:

Ejemplo # 1: programa para serializar la instancia de Kotlin en JSON

Tenemos la API de serialización que nos ayudará a trabajar en nuestro código. El kotlinx.La serialización y sus subcontratos de características, incluido Kotlinx.publicación por entregas.JSON, incluye la API. Hay otra biblioteca "json.Encodetostring "para usar, que codifica cadenas a JSON.

Importamos las bibliotecas del kotlinx.publicación por entregas. Primero, anotamos una clase con @Serializable. Declaramos una clase de datos aquí con el nombre de "datos". Los datos de la clase llaman a un constructor con dos variables. Las variables se representan con la palabra clave "val" y asignan un nombre "nombre" y "edad". El "nombre" variable se establece con la propiedad de tipo "cadena" y la variable "edad" se establece con la propiedad de tipo "int".

Después de la declaración de la clase de datos, usamos @optin, que es un espacio global. El enfoque de suscripción de Kotlin le permite identificar API que deben utilizarse con cautelismo, o no en absoluto. Si realiza una declaración (una clase, una función, una propiedad o cualquier otra cosa) optando necesaria, usarla dará como resultado una advertencia o error en el código, lo que requiere que el usuario opte activamente para usarlo. Esto asegurará que la decisión de usar la API en el sitio de uso se tomara conscientemente.

Aquí, le pasamos un marcador de API experimental. Luego, tenemos la función principal definido en la que creamos una variable "myInfo". La variable "myinfo" se llama json.Encodetostring en el que el objeto se pasa como parámetro se está serializado y codificado a una cadena JSON. Como resultado, obtendrá una cadena con formato JSON que representa el estado actual del objeto. Al usar la función Kotlin Println, imprimiremos los valores de las variables "MyInfo".

La salida está en formato JSON que se muestra en la pantalla de la consola a continuación.

Ejemplo # 2: Programa para serializar y deserializar objetos en Kotlin

La serialización es la conversión de un objeto a una corriente de bytes o una cadena, mientras que la deserialización es la restauración de esa corriente en un nuevo objeto.

En el código anterior, tenemos una implementación de una interfaz serializable que permite a Kotlin manejar la serialización automáticamente.

La biblioteca java.IO significa que hemos importado todas las clases del paquete de entrada-salida en el código. Luego, declaramos una clase como "jugadores" que tiene una interfaz serializable implementada. Los objetos de la clase "jugadores" ahora se pueden transformar en transmisiones. Se llama al constructor para la clase "jugadores" y creamos un objeto "jugadores" en él que se mantiene privado y establece una propiedad del tipo de cadena.

Después de eso, tenemos una palabra clave "anular" con la función toString (). La explicidad de la anulación explica el programa y evita errores. Una función toString () representa los elementos de un objeto en un formato legible es importante para identificar y corregir problemas de programación. El toString () devolverá la cadena del objeto "jugadores". Tenemos el bloque init en el que inicializamos un objeto "jugadores" con los elementos de la cadena utilizando la función hashsetof. Luego, tenemos otra clase serializada "tenis" en la que establecemos sus objetos creando su constructor.

Creamos un objeto "jugador" en la clase "tenis" y llamamos a los jugadores clase en él. En el bloque toString () de anulación, establecemos los campos de un reproductor de objeto. Después de esto, tenemos una función principal en la que declaramos una variable "tenis" y establecemos sus campos. Ahora usando la función WriteObject () de la clase ObjectOutputStream, convierta el objeto a una forma serializada, luego use la función ReadObject () para generar un objeto nuevo a partir de los bytes.

En la pantalla terminal, la salida es visualizada.

Conclusión

El objetivo de esta guía del artículo es mostrar el concepto de serialización de Kotlin en el idioma Kotlin. Discutimos el tema de la serialización y la deserialización y cómo utilizar las bibliotecas de serialización de Kotlin. También cubrimos los ejemplos con el código de ejecución para usted.