Serializacja Kotlin

Serializacja Kotlin
Udostępnianie kodu na platformach nie jest możliwe. IO, transformacje, gwintowanie i serializacja, aby wspomnieć o kilku, są obsługiwane inaczej na każdej platformie, którą chcesz obsługiwać. Istnieje już kilka bibliotek, które obsługują serializację Kotlin, a nawet mogą wytworzyć kod Kotlin, przy czym Moshi Square jest najbardziej znany.

W tym artykule przeprowadzimy krótką dyskusję na temat serializacji Kotlin.

Co to są serializacja i deserializacja w Kotlin?

Serializacja jest techniką przekształcania danych aplikacji w format, który można wysłać przez sieć lub można zapisać w bazie danych lub pliku. Z drugiej strony deserializacja jest aktem wyodrębniania danych ze zdalnej lokalizacji i przekształcania ich w obiekt czasu wykonywania. Oba są wymaganymi komponentami w większości aplikacji, które wchodzą w interakcje z danymi z stronami zewnętrznymi.

Bufory JSON i protokołu to dwa przykłady formatów serializacji danych, które są szeroko stosowane. Pozwalają na przepływ danych przez systemy zbudowane w dowolnym nowoczesnym języku, ponieważ są one zarówno agnostyczne języka, jak i platformy.

Możliwości serializacji danych w Kotlin można znaleźć w samodzielnym komponencie o nazwie Kotlinx. Serializacja. Biblioteki środowiska wykonawczego i wtyczka gradle-org.Jetbrains.Kotlin.podłącz.serializacja- to dwa główne elementy.

Biblioteki serializacji Kotlin

Wszystkie biblioteki serializacji Kotlin są zawarte w org.Pakiet palenia. Kotlinx to nazwa grupy ludzi. Mają sufiksy reprezentujące format serializacji i zaczynają się od serializacji Kotlinx.

Przykłady:

Serializacja JSON dla projektów Kotlin jest dostarczana przez Org.Jetbrains.Kotlinx: Kotlinx-Serialization-Json.
CBOR Serializacja jest dostarczana przez Org.Jetbrains.Kotlinx: Kotlinx-Serializacja-CBOR.

Nie musisz ręcznie dodawać artefaktów specyficznych dla platformy, ponieważ są one obsługiwane automatycznie. Projekty JVM, JS, natywne i międzyplatformowe wykorzystują te same zależności.

Jak wykorzystać serializację Kotlin w kodzie

Zanim przejdziesz do kodu serializacji Kotlin, upewnij się, że skrypt kompilacji jest skonfigurowany, aby umożliwić korzystanie z narzędzi serializacji Kotlin w twoim projekcie.

W budowie projektu.Gradle.plik KTS używa Kotlin („wtyczka.serializacja ”) w bloku wtyczki.

Następnie w twojej kompilacji.gradtuj (.KTS) Plik, dodaj zależność od biblioteki wykonawczej „Org.Jetbrains.Kotlinx: Kotlinx-Serialization-Json: 1.0.0 ”do bloku na utrzymaniu.

Aby zrozumieć serializację Kotlin, powinieneś przyjrzeć się następującym przykładom:

Przykład nr 1: Program serializacji instancji Kotlin do JSON

Mamy interfejs API serializacji, który pomoże nam pracować nad naszym kodem. Kotlinx.Serializacja i jej funkcje, w tym Kotlinx.Serializacja.JSON, dołącz API. Jest inna biblioteka „JSON.enkodetoString ”do użycia, który koduje ciągi do JSON.

Importujemy biblioteki z Kotlinx.Serializacja. Najpierw adnotujemy klasę z @Serializable. Zadeklarujemy tutaj klasę danych o nazwie „Dane”. Dane klasy wywołują konstruktor z dwiema zmiennymi. Zmienne są reprezentowane za pomocą słowa kluczowego „Val” i przypisują nazwę „Nazwa” i „Wiek”. Zmienna „Nazwa” jest ustawiona z właściwością typu „ciąg”, a zmienna „wiek” jest ustawiony z właściwością typu „int”.

Po deklaracji klasy danych używamy @optin, która jest przestrzenią globalną. Podejście opt -in Kotlin pozwala zidentyfikować interfejsy API, które należy wykorzystać z ostrożnością - lub wcale nie. Jeśli złożycie deklarację (klasa, funkcja, właściwość lub cokolwiek innego) wybierz konieczne, używając jej ostrzeżenia lub błędu w kodzie, wymagając od użytkownika aktywnego wybrania go do użycia. Zapewni to świadomość decyzji o użyciu interfejsu API na stronie użytkowania.

Tutaj przekazujemy do niego eksperymentalny znacznik API. Następnie mamy główną funkcję, w której tworzymy zmienną „myinfo”. Zmienna „Myinfo” nazywa się JSON.enkodetostring, w którym obiekt przekazywał parametr, jest serializowany i kodowany do ciągu JSON. W rezultacie otrzymasz ciąg formowany przez JSON reprezentujący bieżący stan obiektu. Korzystając z funkcji Kotlin Println, wydrukujemy wartości zmiennych „myinfo”.

Wyjście jest w formacie JSON pokazanym na ekranie konsoli poniżej.

Przykład nr 2: Program serializowania i deserializowania obiektów w Kotlin

Serializacja to konwersja obiektu na strumień bajtów lub łańcucha, podczas gdy deserializacja jest przywróceniem tego strumienia w nowy obiekt.

W powyższym kodzie mamy implementację interfejsu serializacji, który pozwala Kotlin automatycznie obsługiwać serializację.

Biblioteka Java.IO oznacza, że ​​zaimportowaliśmy wszystkie klasy pakietu wejściowego do kodu do kodu. Następnie deklarujemy klasę jako „gracze”, która ma zaimplementowany serializacyjny interfejs. Obiekty „graczy” klasy można teraz przekształcić w strumienie. Konstruktor jest wywoływany dla klas „graczy” i tworzymy w nim obiekt „gracze”, które są prywatne i ustawia właściwość typu ciągów.

Następnie mamy słowo kluczowe „zastąpienie” za pomocą funkcji toString (). Jawność zastępowania wyjaśnia program i unika błędów. Funkcja ToString () reprezentuje elementy obiektu w czytelnym formacie jest ważne dla identyfikacji i poprawienia problemów z programowaniem. Zastąpienie ToString () zwróci ciąg obiektu „gracze”. Mamy blok init, w którym inicjujemy obiekt „odtwarzaczy” z elementami łańcucha przy użyciu funkcji hashsetof. Następnie mamy kolejną serializowaną klasę „tenis”, w której ustawiamy jego obiekty, tworząc jego konstruktor.

Tworzymy obiekt „gracz” w klasie „Tenis” i nazywamy w nim klasę graczy. W bloku zastępczym toString () ustawiamy pola odtwarzacza obiektowego. Następnie mamy główną funkcję, w której deklarujemy zmienną „tenis” i ustawiamy jej pola. Teraz używając funkcji Funkcja WriteObject () z klasy OBIEMOUTPUTSTEAM, przekonwertuj obiekt na formularz serializowany, a następnie użyj funkcji ReadObject (), aby wygenerować zupełnie nowy obiekt z bajtów.

Na ekranie terminalu wyjście jest wyświetlane.

Wniosek

Celem tego przewodnika w artykule jest pokazanie koncepcji serializacji Kotlin w języku Kotlin. Omówiliśmy temat serializacji i deserializacji oraz sposób korzystania z bibliotek serializacji Kotlin. Omówiliśmy również przykłady z uruchomionym kodem dla Ciebie.