C#에서 객체를 JSON으로, JSON을 객체로 바꾸기
이 레슨에서는 System.Text.Json으로 C# 객체를 JSON 문자열로 바꾸고, 그 문자열로 객체를 다시 만듭니다.
소개
JSON은 특히 API를 통해 애플리케이션 사이에서 데이터를 주고받을 때 널리 쓰이는 형식입니다. .NET에 포함된 System.Text.Json 라이브러리는 아주 좋은 성능으로 객체를 JSON으로(직렬화, serialize), JSON을 객체로(역직렬화, deserialize) 바꿉니다.
JsonSerializer.Serialize 메서드는 레코드 Product를 JSON 문자열로 바꿉니다. Deserialize<Product> 메서드는 그 문자열을 읽어 Product 객체를 다시 만듭니다. 데이터가 비었거나 형식이 잘못되면 결과가 null일 수 있으므로 프로그램은 ?. 연산자로 Name과 Price에 접근합니다. 출력 결과는 Book: 12.5입니다.
실행 가능한 C# 예제
C#
Program.cs
using System;
using System.Text.Json;
record Product(string Name, decimal Price);
class Program
{
static void Main()
{
var json = JsonSerializer.Serialize(new Product("Book", 12.5m));
var product = JsonSerializer.Deserialize<Product>(json);
Console.WriteLine($"{product?.Name}: {product?.Price}");
}
}
Book: 12.5디버거로 연습하기
중요한 대입이나 조건에 중단점을 두고 Debug를 눌러 다음 줄로 넘어가기 전에 지역 변수 값을 확인하세요.
챌린지로 연습하기
이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.
- 평평한 JSON 객체의 합 정수 값을 가진 평면 JSON 객체를 파싱하고 값들의 합을 구하세요. 쉬움
- JSON 객체 만들기 키와 값을 JSON 객체 문자열로 바꾸고, 따옴표와 백슬래시를 올바르게 이스케이프하세요. 쉬움