C#에서 JSON으로 왕복 변환하기
이 레슨에서는 레코드를 JSON으로 바꾼 뒤 다시 읽어서 데이터가 그대로 유지되는지 확인합니다.
소개
객체를 JSON으로 바꾼 뒤 다시 읽는 왕복 변환(round trip)은 데이터 모델이 올바르게 저장되고 복원되는지 확인하는 실용적인 방법입니다. 사용자 설정을 저장하거나 API로 데이터를 주고받을 때 특히 중요합니다.
Serialize는 레코드 Settings를 JSON 문자열로 바꿉니다. Deserialize할 때 System.Text.Json은 생성자 매개변수와 public 속성을 이용해 레코드를 다시 만듭니다. 결과가 null일 수 있으므로 프로그램은 ?. 연산자를 쓰며, 원래 데이터와 똑같이 dark: 16을 출력합니다.
실행 가능한 C# 예제
C#
Program.cs
using System;
using System.Text.Json;
record Settings(string Theme, int FontSize);
class Program
{
static void Main()
{
string json = JsonSerializer.Serialize(new Settings("dark", 16));
Settings? settings = JsonSerializer.Deserialize<Settings>(json);
Console.WriteLine($"{settings?.Theme}: {settings?.FontSize}");
}
}
dark: 16디버거로 연습하기
중요한 대입이나 조건에 중단점을 두고 Debug를 눌러 다음 줄로 넘어가기 전에 지역 변수 값을 확인하세요.
챌린지로 연습하기
이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.
- JSON 객체 만들기 키와 값을 JSON 객체 문자열로 바꾸고, 따옴표와 백슬래시를 올바르게 이스케이프하세요. 쉬움
- 평평한 JSON 객체의 합 정수 값을 가진 평면 JSON 객체를 파싱하고 값들의 합을 구하세요. 쉬움