AZ Tools

JSON to Protobuf 스키마 변환기 (proto3)

개발

JSON 객체나 배열을 붙여넣으면 바로 사용할 수 있는 Protocol Buffers(proto3) 스키마를 얻을 수 있습니다. 필드는 proto 스칼라 타입(string, int64, double, bool)으로 매핑되고, 배열은 repeated 필드로, 중첩 객체는 별도의 message로 생성됩니다. lower_snake_case가 아닌 키에는 [json_name = "..."] 옵션이 추가되어 표준 JSON 매핑이 원래 키와 일치하도록 합니다. 모든 처리는 브라우저에서 로컬로 실행되며 JSON은 업로드되지 않습니다.

Protobuf 스키마

사용법

  1. 입력 상자에 JSON을 붙여넣거나 입력합니다.
  2. 선택적으로 루트 메시지 이름을 변경합니다(기본값 Message).
  3. 출력 상자에서 생성된 .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이 어딘가로 전송되나요?
아니요. 변환은 전적으로 브라우저에서 이루어지며 아무것도 업로드되지 않습니다.

관련 도구