JSON से C#
System.Text.Json या Newtonsoft.Json के लिए C# class या record बनाएँ
C# कोड बनाने के लिए JSON पेस्ट करें या कोई उदाहरण लोड करें।
JSON to C# क्या बनाता है
JSON to C# किसी API प्रतिक्रिया या किसी भी JSON नमूने को file-scoped namespace वाली एक फ़ाइल में C# टाइप में बदलता है। Class मोड { get; set; } प्रॉपर्टी लिखता है; Record मोड positional record लिखता है और attribute को [property: ...] के साथ बनाई गई प्रॉपर्टी पर रखता है। System.Text.Json [JsonPropertyName("key")] और Newtonsoft.Json [JsonProperty("key")] उपयोग करता है। किसी प्रॉपर्टी को कभी उसके बाहरी टाइप का नाम नहीं मिलता, जिसकी C# अनुमति नहीं देता।
उपयोग कैसे करें
- 1.JSON पेस्ट करें, एक .json फ़ाइल अपलोड करें या छोड़ें, या कोई उदाहरण लोड करें।
- 2.रूट टाइप का नाम और Company.Project.Models जैसा वैकल्पिक namespace रखें।
- 3.टाइप शैली, प्रॉपर्टी नामकरण और nullable reference टाइप चुनें।
- 4.सीरियलाइज़र और attribute नीति चुनें, फिर कोड कॉपी करें या <Root>.cs डाउनलोड करें।
टाइप का अनुमान कैसे लगाया जाता है
- •ऐरे का हर आइटम जाँचा जाता है, केवल पहला नहीं, और एक ही ऐरे के ऑब्जेक्ट मिला दिए जाते हैं।
- •कुछ ऑब्जेक्ट में न मिलने वाली कुंजी वैकल्पिक होती है; कभी-कभी null होने वाली कुंजी nullable होती है। दोनों को अलग रखा जाता है।
- •एक ही स्थान पर 1 और 2.5 दशमलव संख्या में बदल जाते हैं; अन्य मिश्रण की सूचना दी जाती है।
- •खाली ऐरे और हमेशा null रहने वाले मानों के टाइप का कोई प्रमाण नहीं होता, इसलिए सामान्य टाइप उपयोग होता है और एक सूचना कारण बताती है।
- •टाइप मैपिंग: स्ट्रिंग → string, पूर्णांक → सीमा के अनुसार int, long, ulong या decimal, दशमलव → double, बूलियन → bool, ऐरे → List<T>, ऑब्जेक्ट → class या record, छूटा हुआ या null → T?, अज्ञात या मिला-जुला → object।
- •Required सदस्यों के लिए C# 11 / .NET 7 या बाद का संस्करण चाहिए; तब System.Text.Json आवश्यक कुंजी न होने वाले JSON को अस्वीकार करता है।
सीमाएँ और गोपनीयता
नमूना केवल यह दिखाता है कि डेटा एक बार कैसा दिखा था, पूरा API अनुबंध नहीं। कोड पर भरोसा करने से पहले वैकल्पिक फ़ील्ड, सामान्य टाइप और संख्याओं की चौड़ाई जाँचें। इनपुट 5 MB और 256 नेस्टिंग स्तरों तक सीमित है; 2 MB से, जनरेशन बनाएँ बटन की प्रतीक्षा करता है। सब कुछ आपके ब्राउज़र में चलता है और JSON कभी अपलोड नहीं होता। System.Text.Json के साथ, deserialization के बाद object प्रॉपर्टी में JsonElement होता है।
