آشنایی با جیسون در سی شارپ
جیسون (JSON) که مخفف JavaScript Object Notation است، فرمت متنی سبک برای تبادل دادههاست. در سیشارپ، کار با جیسون به سادگی امکانپذیر است. برای این کار، میتوان از کتابخانههایی مانند Newtonsoft.Json یا System.Text.Json استفاده کرد.
نصب کتابخانه
برای شروع، ابتدا باید کتابخانه مناسب را نصب کنید. اگر از Newtonsoft.Json استفاده میکنید، میتوانید از NuGet Package Manager استفاده کنید:
```
Install-Package Newtonsoft.Json
```
سریالیزه کردن (Serialization)
سریالیزه کردن فرآیند تبدیل یک شیء به فرمت جیسون است. برای این کار، میتوانید از متد `JsonConvert.SerializeObject` استفاده کنید.
```csharp
using Newtonsoft.Json;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
var person = new Person { Name = "Ali", Age = 30 };
string json = JsonConvert.SerializeObject(person);
Console.WriteLine(json);
```
دیسریالیزه کردن (Deserialization)
دیسریالیزه کردن برعکس سریالیزه کردن است. این فرآیند، فرمت جیسون را به یک شیء تبدیل میکند. با استفاده از متد `JsonConvert.DeserializeObject` میتوانید این کار را انجام دهید.
```csharp
string json = "{\"Name\":\"Ali\",\"Age\":30}";
Person person = JsonConvert.DeserializeObject<Person>(json);
Console.WriteLine(person.Name);
```
کار با آرایهها
جیسون قابلیت کار با آرایهها را نیز دارد. برای مثال، فرض کنید که میخواهید یک آرایه از اشیاء را سریالیزه کنید.
```csharp
var people = new List<Person>
{
new Person { Name = "Ali", Age = 30 },
new Person { Name = "Sara", Age = 25 }
};
string jsonArray = JsonConvert.SerializeObject(people);
Console.WriteLine(jsonArray);
```
مدیریت خطاها
در هنگام کار با جیسون، ممکن است خطاهایی پیش بیاید. برای مدیریت این خطاها، میتوانید از بلوک try-catch استفاده کنید.
```csharp
try
{
Person person = JsonConvert.DeserializeObject<Person>(json);
}
catch (JsonException ex)
{
Console.WriteLine("Error in JSON format: " + ex.Message);
}
```
نتیجهگیری
کار با جیسون در سیشارپ بسیار ساده و کارآمد است. با استفاده از ابزارهای مناسب، میتوانید دادهها را به راحتی سریالیزه و دیسریالیزه کنید. همچنین، با مدیریت خطاها، میتوانید از بروز مشکلات جلوگیری کنید. با بهرهگیری از این قابلیتها، میتوانید برنامههای خود را به شکل موثری توسعه دهید.