2

我想知道如何在不必指定键的情况下将数组作为消息体传递。我可以轻松做到:

message TypeResponse {
  message Type {
    string ID = 1;
    string Name = 2;
    string Description = 3;
    string IsMobile = 4;
    string IsTablet = 5;
    string IsDesktop = 6;
  }
  repeated Type types = 1;
}

那会回应:

{
  "types": [
    {
      "ID": 1
      ...
    }
  ]
}

我想将我的响应构造如下以匹配我的 REST API:

[
    {
      "ID": 1
      ...
    },
    {
      "ID": 2
      ...
    }
]
4

1 回答 1

1

Proto 要求顶层概念是一条消息,它会溢出到 JSON 映射中。

您可以做的只是跳过第一个字符,直到到达一个[字符,然后删除最后一个字符,即]. JSON 的输出格式由Proto3 规范指定,因此您可以合理地依赖格式。

于 2017-06-08T20:13:58.310 回答