protobuf를 사용하여 golang에 새 서비스를 작성하고 있습니다. .proto 파일에 다음 JSON 요청 모델을 작성하고 싶습니다.protobuf 정의로 JSON 배열을 모델링하는 방법
[
{
"var": ["myVariable1","myVariable2"],
"key1": 123123,
"key2": 1122,
"key3": "abcd-0101"
},
{
"var": ["myVariable1"],
"key1": 123124,
"key2": 1123,
"key3": "abcd-0102"
},
]
현재 두 가지 문제가 있습니다 사전에 알 수없는 각 배열 요소에
- 키, 따라서 나는 .proto 파일에 메시지를 작성하고 반복 할 수 없습니다가. 나는 그것을 지킬 필요가있다
- 키가없는 배열 인 json을 모델링 할 수 없다. 매번 내가이, 다음과 같은 오류가 표시됩니다 음주 : JSON : 요청을 해독하는 데 실패
syntax = "proto3"; package pb; import "google/protobuf/empty.proto"; import "google/api/annotations.proto"; service Transmitter { rpc GetVariables(GetVariablesRequest) returns (GetVariablesResponse) { option (google.api.http) = { post: "/api/v1/{Service}/getVars" body: "*" }; }; } message GetVariablesRequest { string Service = 1; repeated GetVarInput in = 2; } message GetVariablesResponse { string msg = 1; } message GetVarInput { map<string,string> Input = 2; }
내가 대신 바이트 시도 : 수에 따라 이동 값
에 비 정렬 화되지 배열 내 .proto 파일입니다 반복 GetVarInput,하지만 항상 비어 있습니다. 또한 시체를 시도 : "*"및 본문 : "에서"
일부 포인터를 제공하십시오.
당신이처럼 JSON에 대한 메시지를 작성할 수
캔트 방금 배열 당신의 JSON의 덩어리의 일부 자리의 이름을 :
하고 GO 코드
? 예 : '{ "data": [{...}, {...}]}' –