JSON을 Go 구조체로
JSON을 즉시 Go 구조체 정의로 변환. JSON을 붙여넣고 올바른 타입, json 태그, omitempty 지원이 포함된 깔끔한 Go 코드를 받으세요.
JSON에서 Go 구조체로 변환은 어떻게 작동하나요?
도구는 JSON 입력을 파싱하여 Go 구조체 정의를 자동 생성합니다. JSON 값 타입을 해당 Go 타입으로 매핑하고, 키를 PascalCase 필드명으로 변환하며, 선택적으로 json 태그를 추가하여 직렬화에 사용합니다.
JSON 값에 어떤 Go 타입이 생성되나요?
문자열은 string, 정수는 int64, 부동소수점은 float64, 불리언은 bool, null은 interface{}, 배열은 []Type, 객체는 중첩 구조체가 됩니다. 모든 숫자를 int64와 float64 중 선택할 수 있습니다.
Go 구조체의 json 태그란 무엇인가요?
`json:"fieldName"` 같은 json 태그는 Go의 encoding/json 패키지에 마샬링/언마샬링 시 구조체 필드를 JSON 키로 매핑하는 방법을 지시합니다. omitempty 옵션은 출력에서 제로값 필드를 건너뜁니다.
"옵셔널에 포인터"란 무엇인가요?
활성화하면 nullable 필드가 string 대신 *string 같은 포인터 타입을 사용합니다. 이를 통해 Go 코드에서 제로값(빈 문자열, 0)과 누락/null 값을 구별할 수 있습니다.
중첩 JSON 객체를 지원하나요?
네. 중첩된 객체는 자동으로 별도의 명명된 Go 구조체로 변환됩니다. 객체 배열은 생성된 구조체를 참조하는 슬라이스 타입이 됩니다.
필드명은 어떻게 생성되나요?
JSON 키는 Go 스타일의 PascalCase 이름으로 변환됩니다. 예를 들어 "user_name"은 "UserName"이 되고 "firstName"은 "FirstName"이 됩니다. 루트 구조체 이름을 직접 지정할 수 있습니다.
JSON 배열을 변환할 수 있나요?
네. JSON 배열을 붙여넣으면 도구는 첫 번째 요소를 사용하여 구조체 정의를 추론합니다. 생성된 Go 타입은 추론된 구조체의 슬라이스([]StructName)가 됩니다.
JSON 데이터가 서버로 전송되나요?
아니요. 모든 변환은 브라우저에서 JavaScript로 완전히 로컬 처리됩니다. JSON 데이터가 기기를 떠나는 일이 없어 완전한 프라이버시를 보장합니다.
이 도구는 어떤 용도로 유용한가요?
REST API, 설정 파일, 데이터베이스 응답을 다루는 Go 개발자에게 이상적입니다. 수동으로 구조체 정의를 작성하는 대신 몇 초 만에 프로덕션 준비 완료 Go 코드를 얻할 수 있습니다.
이 도구는 무료인가요?
네, 등록 없이 완전히 무료입니다. 사용 제한이 없습니다 — 필요한 만큼 JSON을 변환할 수 있습니다.