[c#] JSON 직렬화

JSON (JavaScript Object Notation)은 데이터 교환을 위한 경량의 데이터 형식으로, C#에서는 JSON 데이터를 다루기 위해 JSON 직렬화 기능을 제공합니다. 이 기능을 사용하면 C# 객체를 JSON 문자열로 직렬화하거나, JSON 문자열을 다시 C# 객체로 역직렬화할 수 있습니다.

Newtonsoft.Json 라이브러리 설치

C#에서 JSON 직렬화를 위해 가장 널리 사용되는 라이브러리는 Newtonsoft.Json입니다. 이 라이브러리를 사용하려면 먼저 NuGet 패키지 관리자를 사용하여 Newtonsoft.Json 패키지를 프로젝트에 추가해야 합니다.

Install-Package Newtonsoft.Json

객체를 JSON 문자열로 직렬화

다음은 C#에서 JSON 직렬화를 수행하는 간단한 예제입니다.

using Newtonsoft.Json;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public class Program
{
    public static void Main()
    {
        Person person = new Person { Name = "John Doe", Age = 30 };
        string json = JsonConvert.SerializeObject(person);
        Console.WriteLine(json);
    }
}

위 예제에서는 Person 클래스의 인스턴스를 JsonConvert.SerializeObject 메서드를 사용하여 JSON 문자열로 직렬화하고, 이를 출력합니다.

JSON 문자열을 객체로 역직렬화

이제 JSON 문자열을 다시 C# 객체로 역직렬화하는 방법을 살펴보겠습니다.

string json = @"{'Name':'Jane Smith','Age':25}";
Person person = JsonConvert.DeserializeObject<Person>(json);
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");

위 예제에서는 JsonConvert.DeserializeObject 메서드를 사용하여 JSON 문자열을 Person 객체로 역직렬화하고, 객체의 속성을 출력합니다.

JSON 직렬화와 역직렬화를 통해 C#에서는 간편하게 JSON 데이터를 다룰 수 있습니다.
JSON 데이터를 C# 객체로 변환하거나, C# 객체를 JSON 데이터로 변환하는 과정은 Newtonsoft.Json 라이브러리를 활용하여 간단하게 처리할 수 있습니다.

References