JSON से Kotlin
JSON से kotlinx.serialization, Gson, Moshi या Jackson के लिए Kotlin data class बनाएँ
Kotlin कोड बनाने के लिए JSON पेस्ट करें या कोई उदाहरण लोड करें।
JSON से Kotlin क्या बनाता है
JSON से Kotlin किसी API प्रतिक्रिया या किसी भी JSON नमूने को kotlinx.serialization, Gson, Moshi, Jackson या बिना लाइब्रेरी के लिए Kotlin data class में बदलता है। जब किसी प्रॉपर्टी का नाम उसकी कुंजी से अलग हो, उदाहरण के लिए user_name → userName, तो चुनी गई लाइब्रेरी का एनोटेशन (@SerialName, @SerializedName, @Json या @JsonProperty) उसे JSON से वापस मैप करता है। class, object, when या fun जैसे कीवर्ड backtick में लिखे जाते हैं, और 123abc या user-name जैसी अमान्य कुंजियों का नाम नामकरण सेटिंग के अनुसार मैपिंग के साथ बदला जाता है या उन्हें backtick में रखा जाता है।
उपयोग कैसे करें
- 1.JSON पेस्ट करें, एक .json फ़ाइल अपलोड करें या छोड़ें, या कोई उदाहरण लोड करें।
- 2.रूट टाइप का नाम, प्रॉपर्टी नामकरण और nullability तय करें।
- 3.सीरियलाइज़ेशन लाइब्रेरी चुनें, और अगर हर क्लास में बिना आर्ग्युमेंट वाला कंस्ट्रक्टर चाहिए तो डिफ़ॉल्ट मान चालू करें।
- 4.उन्नत में पैकेज सेट करें या क्लास को रूट क्लास के अंदर नेस्ट करें।
- 5.आउटपुट के नीचे की सूचनाएँ पढ़ें, फिर कोड कॉपी करें या .kt फ़ाइल डाउनलोड करें।
टाइप का अनुमान कैसे लगाया जाता है
- •ऐरे का हर आइटम जाँचा जाता है, केवल पहला नहीं, और एक ही ऐरे के ऑब्जेक्ट मिला दिए जाते हैं।
- •कुछ ऑब्जेक्ट में न मिलने वाली कुंजी वैकल्पिक होती है और T? = null बनती है; कभी-कभी null होने वाली कुंजी T? बनती है। दोनों अलग रखे जाते हैं, इसलिए {"id": 1, "name": "A"} और {"id": 2} से val name: String? = null मिलता है।
- •32 बिट में आने वाले पूर्णांक Int, बड़े Long और 64 बिट से बड़े BigInteger (kotlinx.serialization के साथ JsonPrimitive) बनते हैं। ±2^53 से बड़े मानों पर सूचना दी जाती है, क्योंकि JavaScript क्लाइंट उन्हें गोल कर सकते हैं।
- •एक ही स्थान पर 1 और 2.5, Double में बदल जाते हैं; अन्य मिश्रण की सूचना दी जाती है।
- •टाइप मैपिंग: स्ट्रिंग → String, दशमलव → Double, बूलियन → Boolean, ऐरे → List<T>, ऑब्जेक्ट → data class, खाली ऑब्जेक्ट → class, अज्ञात या मिला-जुला → Any? (kotlinx.serialization के साथ JsonElement?)।
सीमाएँ और गोपनीयता
नमूना केवल यह दिखाता है कि डेटा एक बार कैसा दिखा था, पूरा API अनुबंध नहीं। कोड पर भरोसा करने से पहले वैकल्पिक फ़ील्ड, सामान्य टाइप और संख्याओं की चौड़ाई जाँचें। बने हुए कोड को लाइब्रेरी का सामान्य सेटअप चाहिए: serialization कंपाइलर प्लगइन, Moshi कोड जनरेशन या jackson-module-kotlin। Gson Kotlin कंस्ट्रक्टर को छोड़ देता है, इसलिए जब तक हर प्रॉपर्टी का डिफ़ॉल्ट न हो, non-null प्रॉपर्टी में भी null आ सकता है। इनपुट 5 MB और 256 नेस्टिंग स्तरों तक सीमित है; 2 MB से, जनरेशन बनाएँ बटन की प्रतीक्षा करता है। सब कुछ आपके ब्राउज़र में चलता है और JSON कभी अपलोड नहीं होता।
