JSON을 코드 타입으로
예시가 여러 개 있으면 배열로 묶어 넣으세요. 여러 객체를 합쳐 보고 가끔만 나오는 필드를 ‘선택’으로 정확하게 표시해요.
예시 JSON 하나로 타입 정의 끝내기
새 API를 붙일 때 응답 JSON을 보며 타입을 손으로 옮겨 적다 보면 오타와 빠진 필드가 생기기 쉬워요. 이 도구는 붙여넣은 JSON을 끝까지 훑어 필드마다 값의 종류를 알아내고, 고른 언어의 타입 정의로 바꿔 줘요. 객체 안의 객체는 필드 이름을 딴 별도 타입(address → Address)으로, 객체 배열은 단수형 이름(orders → Order)으로 만들어요.
여러 예시를 합치는 규칙
- 배열 안 객체들을 모두 합쳐서, 어떤 항목에만 있는 필드는 선택(optional)으로 표시해요. TypeScript는
?, Go는 포인터와omitempty, 파이썬은Optional[...] = None이에요. - 값이
null인 적이 있으면 ‘null 가능’이에요(TypeScript| null, JSON Schema["string","null"]). 항상 null이라 종류를 알 수 없으면 TypeScript는null, Go는any로 남겨요. - 정수와 소수가 섞이면 실수(
float64,double,number)로, 서로 다른 종류가 섞이면 유니온(string | number)으로 만들어요.
언어별 메모
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·주석에 남겨요.
데이터가 서버로 가나요?
아니요. 변환은 이 브라우저 안에서만 하고 아무것도 전송하지 않아요.
함께 쓰면 좋은 도구
- JSON 정리 (보기 좋게 들여쓰기·검증·압축)JSON을 보기 좋게 들여쓰기, 오류 위치 표시, 한 줄 압축, 키 정렬, 문자열 이스케이프
- JSON·YAML·TOML·CSV 변환기 (설정 파일·데이터 형식 바꾸기)JSON, YAML, TOML, CSV(TSV) 사이를 서로 바꾸고, 형식 오류 위치를 알려 주며, 결과를 파일로 저장
- JSONPath 테스터 (JSON에서 값 골라내기)`$.store.book[?(@.price < 10)].title` 같은 JSONPath 식으로 큰 JSON에서 원하는 값만 골라 보고, 찾은 값의 경로·JSON Pointer 확인, CSV로 저장
- JSON 비교 (두 JSON 차이·JSON Patch 만들기)두 JSON의 추가·삭제·바뀐 값을 경로별로 보여 주고, 키 순서·들여쓰기 차이는 무시. 차이를 JSON Patch(RFC 6902)·Merge Patch(RFC 7386)로 저장
- 정규식 테스트 (정규표현식 매칭 확인)패턴과 플래그로 일치하는 부분을 강조 표시, 그룹 값 표, 바꾸기 미리보기, 자주 쓰는 패턴
- Base64 인코딩·디코딩 (글자·파일 ↔ Base64)글자(한글 UTF-8)를 Base64로, Base64를 글자로, 파일·이미지를 data URI로, Base64를 파일로 저장