타입 생성

JSON 클래스 변환한 샘플에서 다섯 언어로

서로 다른 두 레코드의 예제를 살펴보고 대상 언어와 루트 이름을 바꿔 보세요.

JSON 클래스 변환

JSON 입력

JSON은 이 브라우저 안에서만 분석하고 생성하며 서버에 보내거나 저장하지 않습니다.

생성된 모델 · Rust

모델 옵션

배열의 모든 레코드를 확인합니다. 누락되거나 null인 필드는 nullable로 표시하니 실제 계약과 비교하세요.

선언 2개 · nullable 타입 2개

JSON 클래스 변환은 API 응답을 보고 모델 초안을 만들 때 유용합니다. 같은 모양의 레코드를 배열에 여럿 넣으면 두 번째에만 있는 필드도 빠지지 않습니다.

생성된 선언은 출발점입니다. 샘플에 없는 필드, 비즈니스 검증, 금액의 정밀도와 프로젝트 직렬화 설정은 직접 확인해야 합니다.

JSON 클래스 변환을 쓰는 이유

배열 전체에서 필드 수집

JSON 클래스 변환은 첫 원소만 읽지 않습니다. 뒤쪽 레코드에만 있는 키도 모델에 포함하고 일부 레코드에 없으면 nullable로 표시합니다.

필드 구성이 다른 두 객체 카드가 하나의 모델 카드로 합쳐지고 선택 필드에 빈 동그라미가 붙는다.

같은 입력으로 언어 변경

로컬 JSON 하나로 Rust 구조체, C#·Dart·PHP 클래스와 Scala case class를 만들 수 있습니다. 다운로드 확장자는 선택한 언어에 맞춰 바뀝니다.

한 데이터 카드에서 여러 경로가 갈라져 서로 다른 구조의 코드 카드로 이어진다.

샘플에서 타입을 제대로 찾기

01

서로 다른 레코드 넣기

같은 API 응답의 객체 여러 개를 최상위 배열에 넣으세요. 일부에만 있는 키는 nullable이 되고 중첩 배열도 보이는 원소를 모두 검사합니다.

02

언어별 출력 범위 확인

Rust에는 Serde, C#에는 System.Text.Json 속성을 사용합니다. Dart에는 fromJson/toJson이 있고 PHP와 Scala 선언에는 프로젝트의 변환 코드가 더 필요합니다.

03

최신 결과만 내보내기

자동 생성은 수정 후 350ms 기다립니다. 끄면 생성 버튼이 보이고 Ctrl/Cmd+Enter도 쓸 수 있습니다. 입력이나 옵션을 바꾸면 복사와 다운로드가 잠시 비활성화됩니다.

언어별로 나오는 모델 코드

Rust와 C# 키 연결

C# 클래스 생성에는 JsonPropertyName을 써 원래 키를 보존합니다. Rust에는 Serde rename, Option과 Vec가 들어갑니다.

Dart의 변환 메서드

Dart 모델 클래스에는 중첩 객체와 목록용 fromJson/toJson을 생성합니다. 실제 Flutter나 Dart 환경에서 코드를 시험해야 합니다.

PHP와 Scala 선언

PHP 8은 타입이 있는 프로퍼티와 배열 항목 주석을, Scala는 Option과 List를 쓰는 case class를 받습니다. 역직렬화 코덱은 별도입니다.

숫자 원문을 보고 추론

JSON 클래스 변환은 JavaScript의 숫자 반올림 전에 원래 토큰을 읽습니다. 큰 정수와 소수는 잘못된 좁은 정수 타입 대신 폭넓은 타입으로 남깁니다.

샘플만으로 판단할 수 없는 것

다섯 언어만 선택 가능
Rust, C#, Dart, PHP, Scala만 표시합니다. TypeScript, Go, Java, Python, Swift는 별도 도구가 있어 미구현 버튼을 넣지 않습니다.
Schema나 URL 입력 없음
JSON Schema와 OpenAPI의 필수 조건, 범위, 참조를 읽지 않습니다. URL을 가져오지도 않으므로 샘플 밖의 계약을 알 수 없습니다.
큰 숫자와 소수는 재검토
signed 64비트를 넘는 정수와 소수는 폭넓은 타입을 씁니다. 실제 왕복 변환의 정밀도는 프로젝트 직렬화 설정에 달려 있습니다.
선언만으로 파싱하지 못할 수 있음
PHP 프로퍼티는 json_decode만으로 채워지지 않고 Scala에는 코덱이 필요합니다. Rust는 Serde 의존성이 필요하며 여기서 생성 코드를 실행하지 않습니다.
엄격한 JSON과 크기 제한
주석, 중복 키, 마지막 쉼표, 최상위 혼합 배열은 거부합니다. 입력 50만 자, 깊이 100, 노드 5만 개, 출력 100만 자가 한도입니다.

JSON 클래스 변환 자주 묻는 질문

데이터가 서버로 전송되나요?

아니요. 붙여 넣은 JSON을 브라우저에서만 분석하고 생성합니다. 서버 업로드나 입력의 영구 저장 기능은 없습니다.

날짜 문자열을 날짜 타입으로 만들어 주나요?

날짜처럼 보이는 문자열도 문자열로 둡니다. 한 샘플만으로 날짜라는 계약을 증명할 수 없어 타입을 임의로 바꾸지 않습니다.

만든 코드를 그대로 써도 되나요?

초안으로 사용하세요. 이름 규칙, nullable 필드와 직렬화 방식은 실제 API와 프로젝트 설정에 맞춰 검토해야 합니다.

배열의 첫 번째 항목만 검사하나요?

아니요. 최상위 배열의 모든 객체를 읽어 필드를 합칩니다. 일부에만 있는 필드는 nullable로 나타납니다.

null 필드의 실제 타입은 어떻게 알 수 있나요?

null만 보이면 실제 타입을 알 수 없어 넓은 타입을 사용합니다. 다른 레코드에 구체적인 값이 있으면 그 타입을 쓰되 nullable로 표시합니다.

빠진 데이터 형태가 있나요?

JSON 클래스 변환으로 초안 만들기

JSON 클래스 변환에 실제 레코드를 여러 개 넣고 nullable 필드와 이름을 살펴본 다음 현재 언어의 소스 파일을 받아 프로젝트에서 테스트하세요.