Kotlin में JSON प्रसंस्करण के लिए kotlinx.serialization लाइब्रेरी

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

kotlinx.serialization क्या है?

Kotlinx.serialization Kotlin के लिए एक आधिकारिक लाइब्रेरी है जो JSON प्रारूप सहित डेटा के सीरियलाइज़ेशन और डीसीरियलाइज़ेशन के लिए है। यह बिना रिफ्लेक्शन के और मल्टीप्लेटफ़ॉर्म (JVM, JS, Native) समर्थन के साथ Kotlin ऑब्जेक्ट्स को JSON में और वापस बदलने का एक शक्तिशाली और टाइप-सेफ तरीका प्रदान करता है।

Kotlin में JSON प्रोसेसिंग की आवश्यकता क्यों है?

Kotlin (Android, Ktor पर सर्वर एप्लिकेशन, मल्टीप्लेटफ़ॉर्म प्रोजेक्ट) में आधुनिक डेवलपमेंट में, JSON के साथ काम करना एक अनिवार्य कार्य है: REST API के साथ डेटा का आदान-प्रदान, कॉन्फ़िगरेशन फ़ाइलें, डेटा स्टोरेज। Kotlinx.serialization इसे कुशलतापूर्वक, सुरक्षित रूप से और न्यूनतम boilerplate-कोड के साथ हल करता है।

इंस्टॉलेशन

लाइब्रेरी का उपयोग करने के लिए, build.gradle.kts में प्लगइन जोड़ें:

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

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

Maven के लिए, serialization कॉन्फ़िगरेशन के साथ निर्भरता और kotlin-maven-plugin प्लगइन जोड़ें।

मुख्य कार्य

  • @Serializable — उन क्लासेस के लिए एनोटेशन जिन्हें सीरियलाइज़ करने की आवश्यकता है।
  • Json.encodeToString() — ऑब्जेक्ट को JSON-स्ट्रिंग में बदलना।
  • Json.decodeFromString() — JSON-स्ट्रिंग को ऑब्जेक्ट में पार्स करना।
  • JsonObject / JsonElement — DTO बनाए बिना JSON के साथ डायनामिक कार्य।
  • @Transient, @Required, @SerialName — फ़ील्ड का सूक्ष्म समायोजन।
  • JsonConfiguration — फ़ॉर्मेटिंग सेटिंग्स (prettyPrint, ignoreUnknownKeys)।

Kotlin में कोड उदाहरण

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

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

fun main() { val user = User("Алиса", 30) // सीरियलाइज़ेशन val jsonString = Json.encodeToString(user) println(jsonString) // {"name":"Алиса","age":30} // डीसीरियलाइज़ेशन val decodedUser = Json.decodeFromString<User>(jsonString) println(decodedUser) // User(name=Алиса, age=30) // डायनामिक JSON के साथ कार्य val jsonObject = Json.parseToJsonElement("""{"city":"Москва","zip":101000}""").jsonObject println(jsonObject["city"]) // "Москва"}

कब उपयोग करें

लाइब्रेरी इसके लिए आदर्श है:

  • Android-एप्लिकेशन (Retrofit + kotlinx.serialization)।
  • Ktor पर सर्वर प्रोजेक्ट।
  • मल्टीप्लेटफ़ॉर्म एप्लिकेशन (KMP)।
  • कोई भी प्रोजेक्ट जहाँ बिना रिफ्लेक्शन के JSON के साथ तेज़ और सुरक्षित कार्य की आवश्यकता हो।

यह विशेष रूप से Kotlin-प्रोजेक्ट्स में प्रदर्शन और टाइप सुरक्षा में Gson और Jackson से बेहतर है।

अनुशंसाएँ