Protobuf → JSON

Protocol Buffers 스키마를 샘플 JSON으로 변환하거나 Protobuf 바이너리 데이터를 JSON으로 디코딩. proto3·중첩 메시지·enum 지원. 브라우저 완결, 데이터 전송 없음.

100% 클라이언트 사이드 데이터가 브라우저 밖으로 나가지 않습니다 무료 · 회원가입 불필요
JSON Output
JSON output will appear here.

사용 방법

Schema → 샘플 JSON (기본 모드)

  1. 왼쪽 패널에 .proto 스키마를 붙여넣습니다.
  2. 도구가 모든 메시지 타입을 자동으로 감지하고 드롭다운에 표시합니다.
  3. 메시지 타입을 선택하고 JSON 생성을 클릭합니다.
  4. 기본 필드 값이 포함된 샘플 JSON이 오른쪽에 표시됩니다.

바이너리 → JSON 모드

  1. 토글을 사용해 바이너리 → JSON 모드로 전환합니다.
  2. 위쪽 텍스트 영역에 .proto 스키마를 붙여넣습니다.
  3. 두 번째 텍스트 영역에 바이너리 데이터(hex 또는 base64)를 붙여넣습니다.
  4. 메시지 타입을 선택하고 바이너리 디코드를 클릭합니다.

Proto3 문법 빠른 참조

syntax = "proto3";

package myapp;

message User {
  string id = 1;
  string name = 2;
  int32 age = 3;
  repeated string roles = 4;
  Address address = 5;
  UserStatus status = 6;
}

message Address {
  string street = 1;
  string city = 2;
  string country_code = 3;
}

enum UserStatus {
  UNKNOWN = 0;
  ACTIVE = 1;
  INACTIVE = 2;
}

필드 타입 참조

  • 스칼라 타입: double, float, int32, int64, uint32, uint64, bool, string, bytes
  • 반복 필드: 필드 앞에 repeated를 붙이면 JSON 배열로 매핑
  • 중첩 메시지: 다른 메시지 타입을 필드 타입으로 사용
  • enum: enum으로 정의, 첫 번째 값은 반드시 0
  • oneof: 그룹 내 필드 중 한 번에 하나만 설정 가능

개인정보

모든 처리는 클라이언트에서 이루어집니다. 스키마와 바이너리 데이터는 업로드되거나 저장되지 않습니다.

FAQ

Protocol Buffers(Protobuf)란 무엇입니까?

Protocol Buffers는 Google이 개발한 언어 및 플랫폼 중립의 구조화 데이터 직렬화 메커니즘입니다. JSON/XML보다 빠르고 작은 대안으로 .proto 파일에 데이터 구조를 정의하고 생성된 코드로 읽고 씁니다.

데이터가 서버로 전송됩니까?

아니요. 모든 파싱 및 디코딩은 protobufjs 라이브러리를 통해 브라우저 내에서 완결됩니다. 스키마와 바이너리 데이터는 기기 밖으로 나가지 않습니다.

'Schema → 샘플 JSON' 모드란 무엇입니까?

.proto 스키마를 붙여넣고 메시지 타입을 선택하면 기본값(빈 문자열, 0, 빈 배열)을 가진 샘플 JSON 객체가 생성됩니다. 실제 데이터 없이 메시지 구조를 확인할 때 유용합니다.

'바이너리 → JSON'은 어떤 형식을 지원합니까?

16진수(예: 0a 05 41 6c 69 63 65)와 Base64 인코딩된 Protobuf 바이너리 데이터를 모두 지원합니다. 16진수 사이의 공백과 콜론은 자동으로 무시됩니다.

어떤 proto 문법을 지원합니까?

주로 proto3를 대상으로 합니다. 내부 protobufjs 라이브러리로 기본적인 proto2 문법도 처리할 수 있지만 proto3를 권장합니다.