C# में JSON के साथ कार्य: ऑब्जेक्ट्स का पार्सिंग और सीरियलाइज़ेशन

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

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

पाठ्यक्रम शुरू करें
Here is the translated HTML content in Hindi, with all HTML tags preserved and only the text content translated. ```html

C# में JSON के साथ काम करने का परिचय



JSON (JavaScript Object Notation) एक हल्का डेटा विनिमय प्रारूप है जो आधुनिक वेब एप्लिकेशन, API और कॉन्फ़िगरेशन फ़ाइलों में व्यापक रूप से उपयोग किया जाता है। C# डेवलपर के लिए, JSON के साथ काम करना एक अनिवार्य कौशल है, खासकर REST क्लाइंट, माइक्रोसर्विसेज या बाहरी डेटा स्रोतों के साथ इंटरैक्ट करने वाले एप्लिकेशन बनाते समय।



.NET इकोसिस्टम में JSON को संसाधित करने के दो मुख्य दृष्टिकोण हैं: क्लासिक लाइब्रेरी Newtonsoft.Json (जिसे Json.NET के नाम से भी जाना जाता है) और आधुनिक अंतर्निहित लाइब्रेरी System.Text.Json, जो .NET Core 3.0 में दिखाई दी और .NET 5+ में मानक बन गई। दोनों लाइब्रेरीज़ दो मुख्य संचालन करने की अनुमति देती हैं: सीरियलाइज़ेशन (C# ऑब्जेक्ट को JSON स्ट्रिंग में बदलना) और डीसीरियलाइज़ेशन (JSON स्ट्रिंग को वापस C# ऑब्जेक्ट में बदलना)।



इस लेख में, हम दोनों दृष्टिकोणों पर विस्तार से चर्चा करेंगे, जटिल डेटा संरचनाओं को पार्स करना सीखेंगे और C# में JSON के साथ काम करने के सर्वोत्तम अभ्यासों पर विचार करेंगे।



1. मूल संचालन: सीरियलाइज़ेशन और डीसीरियलाइज़ेशन



1.1 Newtonsoft.Json (Json.NET) का उपयोग



Newtonsoft.Json कई वर्षों तक .NET में JSON के साथ काम करने का डी-फैक्टो मानक रहा है। आरंभ करने के लिए, NuGet के माध्यम से पैकेज स्थापित करें:



Install-Package Newtonsoft.Json


उदाहरण के लिए एक सरल क्लास पर विचार करें:



public class User{    public int Id { get; set; }    public string Name { get; set; }    public string Email { get; set; }    public bool IsActive { get; set; }}


ऑब्जेक्ट को JSON में सीरियलाइज़ करना:



using Newtonsoft.Json;

User user = new User{ Id = 1, Name = "Иван Петров", Email = "ivan@example.com", IsActive = true};

string json = JsonConvert.SerializeObject(user, Formatting.Indented);Console.WriteLine(json);


निष्पादन का परिणाम:



{  "Id": 1,  "Name": "Иван Петров",  "Email": "ivan@example.com",  "IsActive": true}


JSON को वापस ऑब्जेक्ट में डीसीरियलाइज़ करना:



string jsonString = @"{""Id"":1,""Name"":""Иван Петров"",""Email"":""ivan@example.com"",""IsActive"":true}";User deserializedUser = JsonConvert.DeserializeObject<User>(jsonString);Console.WriteLine($"उपयोगकर्ता: {deserializedUser.Name}, ईमेल: {deserializedUser.Email}");


1.2 System.Text.Json का उपयोग



.NET Core 3.0 से शुरू करते हुए, Microsoft ने अपनी स्वयं की लाइब्रेरी System.Text.Json प्रस्तुत की, जो प्रदर्शन के लिए अनुकूलित है और बाहरी निर्भरता की आवश्यकता नहीं है।



सीरियलाइज़ेशन:



using System.Text.Json;

User user = new User{ Id = 2, Name = "Мария Смирнова", Email = "maria@example.com", IsActive = false};

string json = JsonSerializer.Serialize(user, new JsonSerializerOptions { WriteIndented = true });Console.WriteLine(json);


डीसीरियलाइज़ेशन:



string jsonString = @"{""Id"":2,""Name"":""Мария Смирнова"",""Email"":""maria@example.com"",""IsActive"":false}";User deserializedUser = JsonSerializer.Deserialize<User>(jsonString);Console.WriteLine($"उपयोगकर्ता: {deserializedUser.Name}");


2. जटिल डेटा संरचनाओं के साथ काम करना



2.1 नेस्टेड ऑब्जेक्ट और कलेक्शन



JSON में अक्सर नेस्टेड संरचनाएँ होती हैं। उपयोगकर्ता के ऑर्डर की सरणी के साथ एक उदाहरण पर विचार करें:



public class Order{    public int OrderId { get; set; }    public decimal Amount { get; set; }    public List<string> Items { get; set; }}

public class Customer{ public int CustomerId { get; set; } public string FullName { get; set; } public List<Order> Orders { get; set; }}


जटिल JSON को डीसीरियलाइज़ करना ```

ब्लॉग

पुस्तक अनुशंसाएँ