Proto3:我如何定义一个通用json的映射



我正在编写一个gRPC服务,它从这个API中获取给定日期范围内的汇率,并且响应是按天划分的,您可以在这里看到响应格式。

要解析这个响应,我需要一个带有类似

字段的原型消息
map<string, map<string, float>>

但是proto不允许定义嵌套映射。有一些解决方案可以使用映射字段创建另一个消息,但是在我的例子中,内部映射是通用的。因此,我不能定义另一个消息。

在proto3中有一种定义通用嵌套映射的方法吗?

这个定义应该起作用:

syntax = "proto3";
package open.exchange.v1;
option go_package = "github.com/my_open_exchange";
// Rates define a generic Rates for a currency
// The key of the map is the related currency, the value
message Rates {
map<string, float> Rate = 1;
}
// TimeSeriesRates define a Rate of a currency for a specific date
// The key is the date, the value the related map of rates
message TimeSeriesRates {
map<string, Rates> Rate = 1;
}
// TimeSeriesResponse is the response of the TimeSeries endpoint
message TimeSeriesResponse {
string start_date = 1;
string end_date = 2;
string base = 3;
TimeSeriesRates rates = 4;
}

相关内容

  • 没有找到相关文章

最新更新