Kotlin में JSON प्रसंस्करण: लाइब्रेरीज़ और कोड उदाहरण

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

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

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

Kotlin में JSON प्रसंस्करण: लाइब्रेरीज़, उपकरण और कोड उदाहरण

\n\n

JSON (JavaScript Object Notation) आधुनिक वेब डेवलपमेंट में डेटा आदान-प्रदान के सबसे लोकप्रिय प्रारूपों में से एक है। Kotlin में एप्लिकेशन बनाते समय, चाहे वह Android, बैकएंड या डेस्कटॉप हो, लगभग हमेशा JSON को पार्स और जनरेट करने की आवश्यकता होती है। इस लेख में, हम Kotlin में JSON के साथ काम करने के लिए मुख्य लाइब्रेरीज़, उनकी क्षमताओं, लाभों का विस्तार से विश्लेषण करेंगे और व्यावहारिक कोड उदाहरण प्रस्तुत करेंगे।

\n\n

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

\n\n

Kotlin एक स्थिर रूप से टाइप की गई भाषा है जो JVM (साथ ही Native और JS) पर काम करती है। डायनामिक भाषाओं के विपरीत, जहां JSON को तुरंत शब्दकोश में बदला जा सकता है, Kotlin में टाइप किए गए ऑब्जेक्ट्स के साथ काम करने का चलन है। इससे कोड की विश्वसनीयता बढ़ती है और IDE को स्वचालित रूप से फ़ील्ड सुझाने की अनुमति मिलती है। JSON को Kotlin ऑब्जेक्ट्स (डेटा-क्लास) में और वापस बदलने के लिए सीरियलाइज़ेशन/डीसीरियलाइज़ेशन लाइब्रेरीज़ का उपयोग किया जाता है।

\n\n

Kotlin में JSON के लिए मुख्य लाइब्रेरीज़

\n\n

हम तीन सबसे लोकप्रिय लाइब्रेरीज़ पर विचार करेंगे: kotlinx.serialization (JetBrains द्वारा अनुशंसित), Gson (Google द्वारा), और Moshi (Square द्वारा)।

\n\n

1. kotlinx.serialization

\n\n

यह Kotlin में सीरियलाइज़ेशन के लिए आधिकारिक लाइब्रेरी है, जिसे JetBrains द्वारा समर्थित किया गया है। यह मल्टीप्लेटफ़ॉर्म आधार (JVM, Native, JS) पर काम करती है और रिफ्लेक्शन का उपयोग नहीं करती है, जो उच्च प्रदर्शन और टाइप सुरक्षा प्रदान करती है।

\n\n

स्थापना: build.gradle.kts में प्लगइन और निर्भरता जोड़ें:

\n\n
plugins {\n    kotlin("plugin.serialization") version "1.9.22"\n}\n\ndependencies {\n    implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.2")\n}
\n\n

उपयोग का उदाहरण:

\n\n
import kotlinx.serialization.Serializable\nimport kotlinx.serialization.json.Json\nimport kotlinx.serialization.encodeToString\nimport kotlinx.serialization.decodeFromString\n\n@Serializable\ndata class User(val name: String, val age: Int, val email: String? = null)\n\nfun main() {\n    val json = Json { prettyPrint = true; ignoreUnknownKeys = true }\n\n    // सीरियलाइज़ेशन (ऑब्जेक्ट -> JSON)\n    val user = User("एलेक्सी", 30, "alex@example.com")\n    val jsonString = json.encodeToString(user)\n    println(jsonString)\n\n    // डीसीरियलाइज़ेशन (JSON -> ऑब्जेक्ट)\n    val input = """{"name":"मारिया","age":25}"""\n    val parsedUser = json.decodeFromString<User>(input)\n    println(parsedUser)\n}
\n\n

विशेषताएँ:

\n
    \n
  • nullable फ़ील्ड का समर्थन (जैसे उदाहरण में email)।
  • \n
  • DSL के माध्यम से सेटिंग्स: prettyPrint, ignoreUnknownKeys और अन्य।
  • \n
  • enum, sealed-क्लास, नेस्टेड ऑब्जेक्ट्स के साथ कार्य।
  • \n
  • मल्टीप्लेटफ़ॉर्म — Android, iOS, वेब के लिए एक कोड।
  • \n
\n\n

2. Gson

\n\n

Gson Google की एक क्लासिक लाइब्रेरी है, जिसका Java दुनिया में व्यापक रूप से उपयोग किया जाता है। Kotlin में भी यह काम करती है, लेकिन nullable-प्रकारों और डेटा-क्लास के साथ सावधानी की आवश्यकता होती है।

\n\n

स्थापना:

\n\n
dependencies {\n    implementation("com.google.code.gson:gson:2.10.1")\n}
\n\n

उदाहरण:

\n\n
import com.google.gson.Gson\nimport com.google.gson.GsonBuilder\n\ndata class Product(val id: Int, val title: String, val price: Double)\n\nfun main() {\n    val gson: Gson = GsonBuilder().setPrettyPrinting().create()\n\n    // सीरियलाइज़ेशन\n    val product = Product(1, "लैपटॉप", 89999.99)\n    val json = gson.toJson(product)\n    println(json)\n\n    // डीसीरियलाइज़ेशन\n    val jsonString = """{"id":2,"title":"माउस","price":1500.50}"""\n    val parsed = gson.fromJson(jsonString, Product::class.java)\n    println(parsed)\n}
\n\n

महत्वपूर्ण: Gson रिफ्लेक्शन का उपयोग करता है, इसलिए Kotlin डेटा-क्लास के लिए @JvmOverloads या सेटिंग की आवश्यकता हो सकती है

अनुशंसाएँ