JSON to Protobuf 스키마 변환기 (proto3)
JSON 객체나 배열을 붙여넣으면 바로 사용할 수 있는 Protocol Buffers(proto3) 스키마를 얻을 수 있습니다. 필드는 proto 스칼라 타입(string, int64, double, bool)으로 매핑되고, 배열은 repeated 필드로, 중첩 객체는 별도의 message로 생성됩니다. lower_snake_case가 아닌 키에는 [json_name = "..."] 옵션이 추가되어 표준 JSON 매핑이 원래 키와 일치하도록 합니다. 모든 처리는 브라우저에서 로컬로 실행되며 JSON은 업로드되지 않습니다.
—
Protobuf 스키마
사용법
- 입력 상자에 JSON을 붙여넣거나 입력합니다.
- 선택적으로 루트 메시지 이름을 변경합니다(기본값 Message).
- 출력 상자에서 생성된 .proto 스키마를 복사합니다.
자주 묻는 질문
- 숫자는 어떻게 타입이 지정되나요?
- 정수는 int64, 소수점이 있는 숫자는 double이 됩니다. 다른 너비가 필요하면 int32, uint32, float 등으로 변경하세요.
- null, 빈 배열, 중첩 배열은 어떻게 되나요?
- 이들은 google.protobuf.Value로 매핑되며(import "google/protobuf/struct.proto"가 추가됨), proto3에는 기본 null이 없고 repeated repeated 필드를 허용하지 않기 때문입니다.
- 일부 필드에 json_name 옵션이 있는 이유는 무엇인가요?
- proto 필드 이름은 lower_snake_case입니다. 표준 camelCase JSON 매핑이 원래 키를 재현하지 못할 경우 [json_name = "..."] 옵션이 추가되어 JSON이 올바르게 왕복됩니다.
- 제 JSON이 어딘가로 전송되나요?
- 아니요. 변환은 전적으로 브라우저에서 이루어지며 아무것도 업로드되지 않습니다.
관련 도구
Protobuf 디코더 (.proto 없이)
base64나 hex로 된 protobuf 바이트를 붙여넣으면 스키마 없이 필드 번호, 와이어 타입, 중첩 메시지, 문자열, packed 배열을 읽어줍니다.
개발 0 0
JSON to GraphQL 스키마(SDL) 변환기
JSON 객체를 스칼라 매핑이 적용된 GraphQL 타입 정의(SDL)로 브라우저에서 변환합니다.
개발 0 0
JSON → TypeScript 인터페이스
JSON 샘플에서 TypeScript 인터페이스를 자동 생성 — 키 이름을 따라 재귀적으로 타입 추론.
개발 0 0
JSON to Zod 스키마 생성기
JSON 객체를 타입이 추론된 Zod 검증 스키마로 브라우저에서 변환합니다.
개발 0 0
JSON to Mongoose 스키마 생성기
JSON 객체를 타입이 매핑된 경로가 포함된 Mongoose 스키마로 브라우저에서 변환합니다.
개발 0 0
JSON Schema 생성기
JSON 붙여넣으면 그 형태에 맞는 draft-07 JSON Schema 생성 — 타입 추론·포맷 감지·required 필드 채움.
개발 0 0