- POCO (Plain Old CLR Object)
- C#/.NET में «सादे CLR ऑब्जेक्ट» का संक्षिप्त रूप, बाध्यताएं हैं: पब्लिक डिफ़ॉल्ट कंस्ट्रक्टर + private फ़ील्ड्स + पब्लिक { get; set; } प्रॉपर्टीज़ + फ्रेमवर्क निर्भरता नहीं। यह टूल जो जनरेट करता है वह मानक POCO है।
- record
- C# 9+ में पेश किया गया अपरिवर्तनीय डेटा ट्रांसफर ऑब्जेक्ट प्रकार, रेफरेंस इक्वलिटी के बजाय वैल्यू इक्वलिटी का उपयोग करता है। इस टूल में जनरेट करने के बाद मैन्युअल रूप से record में बदला जा सकता है, DTOs, API रिस्पॉन्स मॉडल, अपरिवर्तनीय कॉन्फ़िगरेशन जैसे परिदृश्यों के लिए उपयुक्त।
- [JsonProperty]
- Newtonsoft.Json का फ़ील्ड मैपिंग एट्रिब्यूट। यह टूल डिफ़ॉल्ट रूप से प्रत्येक फ़ील्ड के लिए [JsonProperty("मूल कुंजी")] जोड़ता है, यह सुनिश्चित करता है कि PascalCase फ़ील्ड नाम snake_case JSON को सही ढंग से डिसीरियलाइज़ कर सकें।
- Newtonsoft.Json
- Json.NET के नाम से भी जाना जाता है, .NET इकोसिस्टम में सबसे लोकप्रिय JSON लाइब्रेरी है। इसका इकोसिस्टम सबसे समृद्ध है और संगतता सबसे अच्छी है, लगभग सभी .NET प्रोजेक्ट्स द्वारा समर्थित है। ASP.NET Core 3.0 से पहले डिफ़ॉल्ट रूप से उपयोग की जाती थी, 3.0 के बाद System.Text.Json द्वारा प्रतिस्थापित की गई, लेकिन अभी भी NuGet पैकेज के माध्यम से संगत बनाई जा सकती है।
- System.Text.Json
- .NET Core 3.0+ में बिल्ट-इन उच्च-प्रदर्शन JSON लाइब्रेरी। स्टार्टअप तेज़, मेमोरी उपयोग कम, AOT फ्रेंडली है, इसमें [JsonPropertyName] (Newtonsoft के [JsonProperty] के अनुरूप) और कस्टम नामकरण नीति JsonNamingPolicy शामिल हैं।
- Nullable<T>
- C# में एक प्रकार जो इंगित करता है कि मान प्रकार null हो सकता है (जैसे long? / bool?)। यह टूल JSON में null फ़ील्ड्स को स्वचालित रूप से Nullable<T> के रूप में अनुमानित करता है ताकि कंपाइल समय पर null रेफरेंस अपवादों को रोका जा सके।
- List<T>
- .NET कलेक्शन फ्रेमवर्क में जेनेरिक लिस्ट प्रकार। यह टूल JSON ऐरे को स्वचालित रूप से List<T> में बदलता है, T का स्वचालित अनुमान ऐरे के पहले एलिमेंट से लगाया जाता है (जैसे ["a"] → List<string>)।
- namespace
- C# में क्लासेस को व्यवस्थित करने के लिए नेमस्पेस कीवर्ड, Java में package के समान। इस टूल द्वारा जनरेट किया गया कोड डिफ़ॉल्ट रूप से namespace नहीं रखता, मैन्युअल रूप से जोड़ा जा सकता है (जैसे namespace MyApp.Models)।
- ASP.NET Core
- Microsoft का ओपन-सोर्स क्रॉस-प्लेटफ़ॉर्म वेब फ्रेमवर्क। इस टूल द्वारा जनरेट की गई POCO क्लासेस सीधे ASP.NET Core Controller [FromBody] मॉडल बाइंडिंग, Minimal API, Blazor कंपोनेंट पैरामीटर्स जैसे परिदृश्यों में उपयोग की जा सकती हैं।
- Unity
- दुनिया का सबसे लोकप्रिय गेम इंजन, स्क्रिप्टिंग भाषा C# है। इस टूल द्वारा जनरेट की गई POCO क्लासेस Unity नेटवर्क API रिस्पॉन्स पार्सिंग, ScriptableObject कॉन्फ़िगरेशन डेटा मॉडलिंग के लिए उपयोग की जा सकती हैं।
- Snake_case → PascalCase
- फ़ील्ड नामकरण नियम रूपांतरण। snake_case नामकरण (जैसे user_name, created_at) को PascalCase नामकरण (जैसे UserName, CreatedAt) में बदलना, .NET आधिकारिक नामकरण मानदंडों का अनुपालन करना।
- quicktype-core
- इस टूल की मूल निर्भरता ओपन-सोर्स बहु-भाषा JSON प्रकार जनरेशन लाइब्रेरी (quicktype प्रोजेक्ट) है, जो C#, Java, TypeScript, Rust, Go, Swift आदि दस से अधिक भाषाओं का समर्थन करती है, TypeScript + WebAssembly के आधार पर ब्राउज़र में चलती है।
- .NET MAUI
- Microsoft का क्रॉस-प्लेटफ़ॉर्म UI फ्रेमवर्क (.NET Multi-platform App UI), C# कोड iOS/Android/Windows/macOS पर साझा किया जा सकता है। इस टूल द्वारा जनरेट किए गए POCO MAUI में XAML डेटा बाइंडिंग के लिए Model के रूप में उपयुक्त हैं।
- Blazor
- Microsoft का WebAssembly-आधारित SPA फ्रेमवर्क, Server और WebAssembly दो मोड हैं। इस टूल द्वारा जनरेट की गई C# क्लासेस Blazor कंपोनेंट पैरामीटर्स, स्ट्रॉन्ग टाइप API रिस्पॉन्स मॉडल के लिए उपयोग की जा सकती हैं, एकल-भाषा पूर्ण-स्टैक विकास दक्षता बढ़ाती हैं।
- HttpClient.GetFromJsonAsync
- .NET 5+/System.Net.Http.Json एक्सटेंशन मेथड, HTTP GET + JSON डिसीरियलाइज़ेशन को एक पंक्ति में पूरा करता है। इस टूल द्वारा जनरेट किए गए POCO के साथ उपयोग करने पर HTTP API क्लाइंट कोड को काफी सरल बना सकता है।
- JsonNamingPolicy
- System.Text.Json में क्लास जो JSON फ़ील्ड नामों और C# प्रॉपर्टी नामों के बीच मैपिंग नियमों को नियंत्रित करती है (जैसे CamelCase, SnakeCaseLower)। Newtonsoft.Json [JsonProperty] एनोटेशन या ContractResolver के माध्यम से कार्यान्वित होती है।
- IOptions<T>
- .NET Options पैटर्न का मुख्य इंटरफेस, appsettings.json सबस्ट्रक्चर को स्ट्रॉन्ग टाइप क्लासेस से बांधता है। इस टूल द्वारा जनरेट किए गए POCO IConfiguration.Bind के साथ सीधे IOptions<T> कार्यान्वयन के रूप में उपयोग किए जा सकते हैं।