본문으로 건너뛰기
ToolMug

JSON Go 구조체 변환

JSON을 붙여넣으면 encoding/json에 바로 쓸 수 있는, json 태그가 붙은 Go 구조체 정의를 만들어 줘요. 필드 이름은 Go 관례를 따르고, 중첩 객체는 별도의 타입이 되며, 열은 gofmt처럼 정렬돼요.

브라우저에서 실행 — 입력한 내용은 업로드되지 않아요

사용 방법

  1. JSON 샘플을 붙여넣거나 "예시 불러오기"를 클릭하세요.
  2. 루트 구조체의 이름을 설정하세요.
  3. 생성된 코드를 복사하거나 다운로드해 패키지에 추가하세요.

옵션 설명

루트 타입 이름
최상위 구조체의 이름이에요. 중첩 구조체는 키 이름을 따서 이름이 붙어요.

예시

{"user_id": 7, "email": null, "tags": ["a"]}는 다음과 같이 변환돼요:

type Root struct {
	UserID int64    `json:"user_id"`
	Email  any      `json:"email"`
	Tags   []string `json:"tags"`
}

자주 묻는 질문

필드 이름은 어떻게 정해지나요?

키는 외부로 공개되는 PascalCase 이름으로 바뀌고, 흔한 약어는 Go 스타일 가이드대로 대문자로 써요. user_id는 UserID, homeUrl은 HomeURL이 돼요. 원래 키는 json 태그에 남아요.

포인터와 omitempty는 언제 쓰나요?

배열 항목 중 일부에 없는 키에는 omitempty가 붙어요. 가끔 null인 값은 포인터(*string)가 되어 null과 빈 값을 구분할 수 있고, 선택적인 중첩 구조체도 포인터가 돼요.

어떤 숫자 타입을 쓰나요?

정수는 int64, 소수가 있는 숫자는 float64가 돼요. 같은 키가 항목에 따라 둘 다 나오면 float64를 써요.

JSON이 업로드되나요?

아니요. 타입은 브라우저에서 생성되므로 실제 데이터가 담긴 API 응답도 기기 밖으로 나가지 않아요.

개인정보 보호

이 도구는 전적으로 브라우저에서 실행돼요. 파일과 텍스트는 기기에서 처리되며 서버로 업로드되지 않아요.

관련 도구