JSON을 C#으로 변환
JSON 데이터를 C# 코드로 변환합니다
JSON 입력
C# 출력
JSON을 C#으로란?
.NET 앱에 서드파티 API를 통합할 때, JSON 문서는 받을 수 있지만 응답을 역직렬화하려면 타입이 지정된 C# 클래스가 필요합니다. 깊이 중첩된 객체를 수작업으로 작성하는 건 정말 번거롭습니다. 이 도구는 JSON에서 C# POCO를 자동으로 생성합니다. 샘플 API 응답을 붙여넣으면 프로젝트에 바로 넣을 수 있는 클래스 정의를 얻을 수 있습니다. System.Text.Json이나 Newtonsoft.Json에서 바로 작동합니다.
변환은 브라우저에서 수행됩니다. 클래스 이름, 속성 대 필드, nullable 타입에 대한 구성 옵션을 사용하세요. 서버로 전송되지 않습니다.
이 도구 사용 방법
JSON 붙여넣기
왼쪽 편집기에 JSON을 붙여넣거나 파일을 업로드합니다. 샘플 데이터를 보려면 샘플을 사용하세요. 구성 패널에서 루트 클래스 이름과 옵션(속성, Nullable)을 설정하세요.
클래스 확인
오른쪽 패널에 생성된 C# 클래스가 표시됩니다. 중첩 객체는 자체 클래스가 됩니다. 배열은 List<T> 또는 T[]가 됩니다. 다른 JSON 키에 대해 필요한 경우 [JsonPropertyName] 속성을 추가하세요.
JSON을 C#으로 변환 예시
다음은 JSON 객체에서 C# 클래스를 생성하는 예시입니다.
예시: 구독자 레코드
JSON 입력:
생성된 C# 출력:
JSON을 C#으로 변환이 도움이 되는 경우
.NET, ASP.NET Core 또는 Blazor에서 REST API를 통합할 때 역직렬화를 위한 C# 타입이 필요합니다. 샘플 응답을 여기에 붙여넣으면 JsonSerializer.Deserialize<T>() 또는 Newtonsoft.Json용 POCO가 생성됩니다. API 테스트를 위해 Postman 및 jq가 유용합니다.
JSON을 C#으로 변환 예시
예시: JSON 객체를 C# 클래스로 변환
JSON 입력:
{"subscriberId":"SUB-001","planName":"Premium 4G","dataLimit":"50GB","voiceMinutes":500,"status":"활성"}생성된 C# 클래스:
public class RootObject
{
public string SubscriberId { get; set; }
public string PlanName { get; set; }
public string DataLimit { get; set; }
public int VoiceMinutes { get; set; }
public string Status { get; set; }
}자주 묻는 질문
C#에서 JSON을 역직렬화하려면 어떻게 하나요?
System.Text.Json의 JsonSerializer.Deserialize<YourClass>(jsonString) 또는 Newtonsoft.Json의 JsonConvert.DeserializeObject<YourClass>(jsonString)를 사용하세요. 일치하는 C# 클래스가 필요한데, JSON을 붙여넣어 여기서 생성할 수 있습니다.
JSON 키가 C# 명명 규칙과 맞지 않으면 어떻게 하나요?
속성에 [JsonPropertyName("json_key")](System.Text.Json) 또는 [JsonProperty("json_key")](Newtonsoft)를 사용하세요. 또는 자동 매핑을 위해 JsonSerializerOptions.PropertyNamingPolicy를 JsonNamingPolicy.CamelCase로 설정할 수도 있습니다.
C#의 nullable 참조 타입은 어떻게 되나요?
설정에서 Nullable Types를 활성화하면 string?, int? 등이 생성됩니다. JSON 필드가 null이거나 없을 수 있을 때 유용합니다. #nullable enable 또는 nullable을 지원하는 프로젝트 설정이 필요합니다.
내 JSON이 서버로 전송되나요?
아니요. 클래스 생성은 완전히 브라우저에서 실행됩니다. JSON이 내 기기를 절대 떠나지 않으므로, 프로덕션 API 키나 민감한 데이터도 안전하게 사용할 수 있습니다.
프로퍼티와 필드 — 어느 것을 사용해야 하나요?
프로퍼티(get; set;)는 C#에서 DTO의 표준입니다. System.Text.Json과 Newtonsoft.Json 모두 기본적으로 공개 프로퍼티를 직렬화합니다. 필드도 작동하지만, 데이터 전송 객체에는 덜 일반적입니다.
관련 도구
System.Text.Json. Newtonsoft.Json. JSON 사양. RFC 8259. MDN. .NET. Postman.