프로토콜 버퍼를 사용하여 <문자열, 개체> 맵을 어떻게 인코딩 하시겠습니까?

StackOverflow https://stackoverflow.com/questions/1102900

  •  12-09-2019
  •  | 
  •  

문제

사용하려고합니다 프로토콜 버퍼 메시지 직렬화 용.

내 메시지 형식에는 map <string, object> entries ...하지만 .proto 정의를 어떻게 작성합니까?

내가 아는 한, 프로토콜 버퍼에는 빌드 인 맵 유형이 없습니다. 반복 필드를 사용하여 그 주위를 모델로 만들 수 있습니다. 그러나 내가 가진 큰 문제는 모든 유형을 정의해야한다는 것입니다. 내 메시지가 유연 해지기를 원하므로 유형을 지정할 수 없습니다.

어떤 아이디어?

도움이 되었습니까?

해결책

나는 키와 값으로 튜플을 모델링하고 (아마도 값이 될 수있는 유형 당 하나의 값 필드). 그런 다음 해당 튜플 유형의 반복 목록 만 있습니다. 코드로 맵 자체를 빌드해야합니다.

유형을 지정할 수 없다고 말할 때 어떤 종류의 유형에 대해 이야기하고 있습니까? 튜플에 각 유형의 선택적 필드가 있다면 모든 프리미티브에 대처할 수 있습니다. ~할 수 있었다 바이트 문자열로 직렬화하여 메시지를 맵핑합니다.

그래도 PB에 적합하지 않은 "구조"의 수준처럼 들립니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top