C# (.NET) में JSON प्रोसेसिंग: Newtonsoft.Json और System.Text.Json के लिए पूर्ण गाइड

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

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

पाठ्यक्रम शुरू करें
```html

C# (.NET) में JSON प्रोसेसिंग: पूर्ण गाइड

JSON (JavaScript Object Notation) एक हल्का डेटा इंटरचेंज फॉर्मेट है जो वेब-API और कॉन्फ़िगरेशन फ़ाइलों के लिए मानक बन गया है। C# (.NET) इकोसिस्टम में JSON के साथ काम करने के लिए दो मुख्य टूल हैं: समय-परीक्षित लाइब्रेरी Newtonsoft.Json (जिसे Json.NET के नाम से भी जाना जाता है) और .NET Core 3.0 में शामिल आधुनिक बिल्ट-इन लाइब्रेरी System.Text.Json। इस लेख में हम दोनों लाइब्रेरीज़, उनकी क्षमताओं और उपयोग के उदाहरणों पर विस्तार से चर्चा करेंगे।



1. Newtonsoft.Json (Json.NET)

Newtonsoft.Json कई वर्षों से C# में JSON के साथ काम करने का डी-फैक्टो मानक रहा है। यह लचीला सीरियलाइज़ेशन, LINQ to JSON के लिए समर्थन और डायनामिक प्रकारों के साथ काम करने सहित समृद्ध कार्यक्षमता प्रदान करता है।



स्थापना

NuGet Package Manager के माध्यम से स्थापित करने के लिए, यह कमांड चलाएँ:

Install-Package Newtonsoft.Json

या .NET CLI के माध्यम से:

dotnet add package Newtonsoft.Json


बुनियादी संचालन: सीरियलाइज़ेशन और डीसीरियलाइज़ेशन

सीरियलाइज़ेशन C# ऑब्जेक्ट को JSON स्ट्रिंग में बदलना है। डीसीरियलाइज़ेशन इसकी विपरीत प्रक्रिया है।

using Newtonsoft.Json;

public class Person{ public string Name { get; set; } public int Age { get; set; } public List<string> Hobbies { get; set; }}

// सीरियलाइज़ेशनPerson person = new Person{ Name = "Алексей", Age = 30, Hobbies = new List<string> { "Программирование", "Чтение", "Путешествия" }};

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

// डीसीरियलाइज़ेशनstring jsonInput = @"{'Name':'Мария','Age':25,'Hobbies':['Рисование','Йога']}";Person deserializedPerson = JsonConvert.DeserializeObject<Person>(jsonInput);Console.WriteLine($"Имя: {deserializedPerson.Name}, Возраст: {deserializedPerson.Age}");


डायनामिक डेटा के साथ काम करना

Newtonsoft.Json डायनामिक प्रकारों का समर्थन करता है, जो अज्ञात JSON संरचना के साथ काम करते समय उपयोगी है।

dynamic dynamicObject = JsonConvert.DeserializeObject("{'Name':'Иван','Score':95.5}");Console.WriteLine($"Студент: {dynamicObject.Name}, Балл: {dynamicObject.Score}");


LINQ to JSON

लाइब्रेरी LINQ का उपयोग करके JSON डेटा पर क्वेरी करने के लिए एक शक्तिशाली API प्रदान करती है।

using Newtonsoft.Json.Linq;

string json = @"{ 'users': [ {'name': 'Анна', 'age': 28}, {'name': 'Петр', 'age': 35}, {'name': 'Елена', 'age': 22} ]}";

JObject obj = JObject.Parse(json);var youngUsers = obj["users"] .Where(u => (int)u["age"] < 30) .Select(u => (string)u["name"]);

foreach (var name in youngUsers){ Console.WriteLine(name); // Выведет: Анна, Елена}


2. System.Text.Json

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



बुनियादी संचालन

using System.Text.Json;using System.Text.Json.Serialization;

public class Product{ [JsonPropertyName("product_name")] public string Name { get; set; } public decimal Price { get; set; } [JsonIgnore] public string InternalCode { get; set; }}

// सीरियलाइज़ेशनProduct product = new Product{ Name = "Ноутбук", Price = 75000.50m, InternalCode = "INT-001"};

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

// डीसीरियलाइज़ेशनstring jsonInput = @"{""product_name"":""Смартфон"",""Price"":45000.00}";Product deserializedProduct = JsonSerializer.Deserialize<Product>(jsonInput);Console.WriteLine($"Товар: {deserializedProduct.Name}, Цена: {deseriali ```

अनुशंसाएँ