홈 › 개발·웹 도구

JSON을 코드 타입으로

예시가 여러 개 있으면 배열로 묶어 넣으세요. 여러 객체를 합쳐 보고 가끔만 나오는 필드를 ‘선택’으로 정확하게 표시해요.

입력한 내용은 서버로 보내지 않고 이 기기에서만 처리돼요
옵션

예시 JSON 하나로 타입 정의 끝내기

새 API를 붙일 때 응답 JSON을 보며 타입을 손으로 옮겨 적다 보면 오타와 빠진 필드가 생기기 쉬워요. 이 도구는 붙여넣은 JSON을 끝까지 훑어 필드마다 값의 종류를 알아내고, 고른 언어의 타입 정의로 바꿔 줘요. 객체 안의 객체는 필드 이름을 딴 별도 타입(address → Address)으로, 객체 배열은 단수형 이름(orders → Order)으로 만들어요.

여러 예시를 합치는 규칙

언어별 메모

Go 필드 이름은 공개(대문자 시작)되어야 JSON을 읽을 수 있어서 order_id → OrderID처럼 바꾸고 원래 이름은 json:"order_id" 태그에 남겨요. 파이썬 dataclass는 기본값이 있는 필드가 뒤에 와야 해서 선택 필드를 아래로 모으고, Pydantic은 이름이 파이썬 식별자가 아니면 alias를 붙여요. 자바 record는 Java 16 이상에서 쓸 수 있고, 이름을 바꾼 필드에는 Jackson의 @JsonProperty를 붙여요. 만든 코드는 실제로 tsc, go build, javac, 파이썬 jsonschema·Pydantic으로 예시 JSON을 읽혀 확인했어요.

예시 하나로 추측한 결과라서 실제 API 명세와 다를 수 있어요. 예를 들어 예시에서 항상 있던 필드도 실제로는 빠질 수 있고, 날짜는 그냥 문자열로 나와요. 공식 명세(OpenAPI 등)가 있으면 그것을 기준으로 다듬으세요.

참고한 자료

자주 묻는 질문

배열 JSON을 넣으면 어떻게 되나요?

‘최상위 배열은 항목 하나의 타입으로’가 켜져 있으면 항목들을 합친 객체 타입 하나를 만들어요. 끄면 Root = Item[] 같은 배열 타입도 함께 만들어요.

한글 키도 되나요?

돼요. TypeScript는 따옴표로 감싸고, JSON Schema는 그대로 써요. Go·파이썬·자바는 식별자에 한글을 쓰기 어려워서 영문으로 바꾸지 못하면 Field 같은 이름을 붙이고 원래 이름은 태그·alias·주석에 남겨요.

데이터가 서버로 가나요?

아니요. 변환은 이 브라우저 안에서만 하고 아무것도 전송하지 않아요.

함께 쓰면 좋은 도구