C# (.NET) में JSON प्रोसेसिंग: उदाहरणों के साथ पूर्ण गाइड
JSON (JavaScript Object Notation) आधुनिक वेब एप्लिकेशन, API और कॉन्फ़िगरेशन फ़ाइलों में डेटा आदान-प्रदान के सबसे लोकप्रिय प्रारूपों में से एक है। .NET इकोसिस्टम में, डेवलपर्स के पास JSON के साथ काम करने के लिए शक्तिशाली उपकरण उपलब्ध हैं, जो ऑब्जेक्ट को JSON में और वापस आसानी से सीरियलाइज़ करने की अनुमति देते हैं। इस लेख में, हम दो मुख्य दृष्टिकोणों पर विस्तार से चर्चा करेंगे: अंतर्निहित लाइब्रेरी System.Text.Json (.NET Core 3.0+ और .NET 5+ के लिए अनुशंसित) और लोकप्रिय तृतीय-पक्ष लाइब्रेरी Newtonsoft.Json (जिसे Json.NET के नाम से भी जाना जाता है)।
1. System.Text.Json — आधुनिक .NET मानक
.NET Core 3.0 से शुरू करते हुए, Microsoft ने JSON के साथ काम करने के लिए अपनी स्वयं की उच्च-प्रदर्शन लाइब्रेरी — System.Text.Json प्रस्तुत की। यह न्यूनतम मेमोरी खपत और उच्च गति के लिए अनुकूलित है, जो इसे नई परियोजनाओं के लिए एक आदर्श विकल्प बनाता है।
1.1. इंस्टॉलेशन और इम्पोर्ट
यह लाइब्रेरी पहले से .NET 5/6/7/8/9 में शामिल है, इसलिए अतिरिक्त इंस्टॉलेशन की आवश्यकता नहीं है। इसका उपयोग करने के लिए, बस नेमस्पेस शामिल करें:
using System.Text.Json;using System.Text.Json.Serialization;1.2. बेसिक सीरियलाइज़ेशन और डीसीरियलाइज़ेशन
एक सरल उदाहरण देखें: ऑब्जेक्ट को JSON में और वापस सीरियलाइज़ करना।
// क्लास परिभाषित करेंpublic class Person{ public string Name { get; set; } public int Age { get; set; } public bool IsEmployed { get; set; }}
// सीरियलाइज़ेशनvar person = new Person { Name = "इवान", Age = 30, IsEmployed = true };string json = JsonSerializer.Serialize(person);Console.WriteLine(json); // {"Name":"इवान","Age":30,"IsEmployed":true}
// डीसीरियलाइज़ेशनvar deserializedPerson = JsonSerializer.Deserialize<Person>(json);Console.WriteLine(deserializedPerson.Name); // इवान1.3. एट्रीब्यूट्स के साथ काम करना
System.Text.Json सीरियलाइज़ेशन को ठीक से कॉन्फ़िगर करने के लिए एट्रीब्यूट्स का समर्थन करता है:
public class Product{ [JsonPropertyName("product_id")] public int Id { get; set; } [JsonIgnore] public string InternalCode { get; set; } [JsonConverter(typeof(JsonStringEnumConverter))] public ProductCategory Category { get; set; }}
public enum ProductCategory{ Electronics, Clothing, Food}
var product = new Product { Id = 101, InternalCode = "गुप्त", Category = ProductCategory.Electronics };
string json = JsonSerializer.Serialize(product);// {"product_id":101,"Category":"Electronics"}// InternalCode [JsonIgnore] के कारण JSON में शामिल नहीं हुआ1.4. सीरियलाइज़ेशन पैरामीटर
आप JsonSerializerOptions के माध्यम से सीरियलाइज़र के व्यवहार को कॉन्फ़िगर कर सकते हैं:
var options = new JsonSerializerOptions{ WriteIndented = true, // इंडेंटेशन के साथ सुंदर आउटपुट PropertyNamingPolicy = JsonNamingPolicy.CamelCase, // प्रॉपर्टी के लिए camelCase DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull // null को अनदेखा करें};
string prettyJson = JsonSerializer.Serialize(person, options);Console.WriteLine(prettyJson);/* आउटपुट:{ "name": "इवान", "age": 30, "isEmployed": true}*/2. Newtonsoft.Json (Json.NET) — समय-परीक्षित उपकरण
System.Text.Json के आगमन से पहले, Newtonsoft.Json .NET में JSON के साथ काम करने के लिए वास्तविक मानक था। यह अधिक लचीली सेटिंग्स और सुविधाओं की एक विस्तृत श्रृंखला प्रदान करता है, हालांकि प्रदर्शन में पीछे है।
2.1. इंस्टॉलेशन
Newtonsoft.Json का उपयोग करने के लिए, NuGet पैकेज इंस्टॉल करना आवश्यक है:
// Package Manager Console के माध्यम से:Install-Package Newtonsoft.Json
// या .NET CLI के माध्यम से:dotnet add package Newtonsoft.Json2.2. बेसिक कार्य
using Newtonsoft.Json;
public class Or पुस्तकालय में भी
C++ में Dependency Injection (डिपेंडेंसी इंजेक्शन): कंटेनर और व्यावहारिक उपयोग
Go-redis Redis क्लाइंट: पूरी गाइड उदाहरणों के साथ
Swift (iOS/macOS) में डेटा सत्यापन: लाइब्रेरीज़ और दृष्टिकोण
Node.js में इमेज प्रोसेसिंग: Sharp, Jimp और gm लाइब्रेरी