Bibliothek kotlinx.serialization für JSON-Verarbeitung in Kotlin

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist kotlinx.serialization?

Kotlinx.serialization ist die offizielle Kotlin-Bibliothek für die Serialisierung und Deserialisierung von Daten, einschließlich des JSON-Formats. Sie bietet eine leistungsstarke und typsichere Möglichkeit, Kotlin-Objekte in JSON und zurück zu konvertieren, ohne Reflexion zu verwenden, und unterstützt die Multiplattform-Entwicklung (JVM, JS, Native).

Wozu dient die JSON-Verarbeitung in Kotlin?

In der modernen Entwicklung mit Kotlin (Android, Serveranwendungen mit Ktor, Multiplattform-Projekte) ist die Arbeit mit JSON eine grundlegende Aufgabe: Datenaustausch mit REST-APIs, Konfigurationsdateien, Datenspeicherung. Kotlinx.serialization löst diese Aufgabe effizient, sicher und mit minimalem Boilerplate-Code.

Installation

Um die Bibliothek zu nutzen, fügen Sie das Plugin in build.gradle.kts hinzu:

plugins {    kotlin("plugin.serialization") version "1.9.22"}

dependencies { implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3")}

Für Maven fügen Sie die Abhängigkeit und das Plugin kotlin-maven-plugin mit der serialization-Konfiguration hinzu.

Wichtige Funktionen

  • @Serializable — Annotation für Klassen, die serialisiert werden sollen.
  • Json.encodeToString() — Konvertierung eines Objekts in einen JSON-String.
  • Json.decodeFromString() — Parsen eines JSON-Strings in ein Objekt.
  • JsonObject / JsonElement — dynamische Arbeit mit JSON ohne Erstellung von DTOs.
  • @Transient, @Required, @SerialName — Feineinstellung von Feldern.
  • JsonConfiguration — Formatierungseinstellungen (prettyPrint, ignoreUnknownKeys).

Kotlin-Codebeispiel

import kotlinx.serialization.*import kotlinx.serialization.json.*

@Serializabledata class User(val name: String, val age: Int)

fun main() { val user = User("Алиса", 30) // Serialisierung val jsonString = Json.encodeToString(user) println(jsonString) // {"name":"Алиса","age":30} // Deserialisierung val decodedUser = Json.decodeFromString<User>(jsonString) println(decodedUser) // User(name=Алиса, age=30) // Arbeit mit dynamischem JSON val jsonObject = Json.parseToJsonElement("""{"city":"Москва","zip":101000}""").jsonObject println(jsonObject["city"]) // "Москва"}

Wann verwenden

Die Bibliothek ist ideal für:

  • Android-Apps (Retrofit + kotlinx.serialization).
  • Serverprojekte mit Ktor.
  • Multiplattform-Anwendungen (KMP).
  • Jedes Projekt, das eine schnelle und sichere JSON-Verarbeitung ohne Reflexion benötigt.

Sie übertrifft Gson und Jackson in Bezug auf Leistung und Typsicherheit, insbesondere in Kotlin-Projekten.

Empfehlungen