같은 위치의 기록을 비교하기
여러 JSON 문서를 이어 붙이지 말고 레코드를 하나의 배열로 구성하세요. 같은 구조 위치의 객체끼리 필드를 비교하며, 문서의 다른 위치에서 이름만 같은 속성은 하나로 합치지 않습니다.
타입 생성
예제에서 빠진 tag와 null인 score를 비교해 보세요. 명시적인 계약이 있다면 Schema 보조 모드를 선택하세요.
현재 브라우저에서 해석하고 생성합니다. 입력을 업로드하거나 저장하지 않습니다.
선언 3개 · 선택 속성 1개
JSON TypeScript 변환은 API 응답을 처음 모델링할 때 유용합니다. 정상 응답 한 건만 보면 가끔 빠지는 필드가 필수처럼 보일 수 있습니다. 다양한 기록을 하나의 배열에 모아야 차이를 확인할 근거가 생깁니다.
속성이 없는 경우와 값이 null인 경우를 따로 표현합니다. 결과는 검토를 시작할 초안이며, 아직 들어오지 않은 응답이나 업무 규칙까지 알아내지는 못합니다. 생성한 선언을 실제 API 문서와 함께 확인하세요.
JSON TypeScript 변환은 제공된 배열 요소를 모두 분석합니다. 어떤 객체에 tag가 없으면 선택 속성이 되고, score에 숫자와 null이 있으면 유니온 타입이 됩니다. 누락과 빈 값을 하나의 옵션으로 섞지 않습니다.
Schema에는 필수 속성과 열거 가능한 값을 적을 수 있습니다. 입력 모드를 직접 선택해서 사용하세요. 지원하지 않는 제약은 경로를 표시하고 중단하므로 일부 지시가 빠진 타입을 완성된 결과로 내보내지 않습니다.
여러 JSON 문서를 이어 붙이지 말고 레코드를 하나의 배열로 구성하세요. 같은 구조 위치의 객체끼리 필드를 비교하며, 문서의 다른 위치에서 이름만 같은 속성은 하나로 합치지 않습니다.
모드를 바꿔도 입력은 유지됩니다. 예제 버튼은 선택한 모드의 내용을 불러옵니다. Schema에서는 required가 필수 여부를 정하므로 샘플의 모든 필드를 선택 사항으로 만드는 옵션이 비활성화됩니다.
자동 생성은 편집 후 350밀리초 뒤에 실행됩니다. 끄면 생성 버튼이 나타나며 Ctrl/Cmd+Enter도 사용할 수 있습니다. 입력이나 설정을 바꾸면 최신 생성이 성공하기 전까지 복사와 다운로드가 비활성화됩니다.
같은 위치에 숫자와 문자열이 있으면 유니온을 만듭니다. 중첩 배열도 분석하고, 빈 배열과 값이 있는 배열이 함께 있으면 알려진 요소 타입을 사용합니다. 아무 근거가 없는 빈 배열은 unknown[]로 남습니다.
일부 객체에서 빠진 속성에는 ?가 붙습니다. null은 실제 값이므로 null 또는 이를 포함하는 유니온으로 유지합니다. null만으로 이후의 문자열이나 숫자를 추측하지 않습니다. 프로젝트에서 strictNullChecks를 켜면 이 구분을 활용할 수 있습니다.
인터페이스 자동 생성은 Root와 상위 필드를 바탕으로 이름을 만들고 충돌 시 숫자 접미사를 붙입니다. 공백이나 하이픈을 포함한 원래 속성 이름은 따옴표로 보존합니다. 루트 이름은 예약어를 제외한 64자 이하 ASCII 식별자여야 합니다.
TypeScript 변환기는 기본 타입, properties, required, 단일 items, 불리언 additionalProperties, 스칼라 enum/const, 제한된 anyOf를 처리합니다. 객체 선언을 interface 또는 type으로 고르고 export와 2칸·4칸 들여쓰기를 설정할 수 있습니다.
프로젝트의 선언 방식에 맞추세요. interface는 객체 선언에 적용됩니다. 루트가 배열, 기본 타입 또는 유니온이면 interface를 선택해도 외부 선언에는 type 별칭이 필요합니다.
동일한 배열 위치의 모든 객체에서 키를 모읍니다. 일부 객체에서 빠진 키는 선택 속성이고, 관찰된 값은 유니온으로 표현합니다. 한 항목만 넣으면 어떤 필드가 빠질 수 있는지 알 수 없습니다.
아니요. JSON TypeScript 변환은 JSON에 표현된 구조와 값만 다룹니다. 날짜 문자열은 string, 숫자는 number입니다. 실제 런타임 객체로 바꾸는 코드는 별도로 작성해야 합니다.
null을 삭제하거나 선택 속성으로 바꾸지 않습니다. null만 있으면 타입도 null이고, 숫자와 함께 나타나면 number | null입니다. 속성 자체가 빠지는지는 별도의 존재 여부로 판단합니다.
요소에 대한 근거가 없으면 unknown[]입니다. 같은 위치의 다른 배열에 요소가 있다면 해당 타입을 함께 추론합니다. 빈 배열만 보고 string[]이나 임의의 객체 배열이라고 가정하지 않습니다.
확인이 필요한 추론 결과가 있나요?
JSON TypeScript 변환에 여러 응답을 넣고 선택 속성과 null을 비교하세요. 이름과 선언 방식을 확인한 뒤 프로젝트에서 검토할 코드를 내보낼 수 있습니다.