gpt4 book ai didi

go - 如何在 ProtoBuffers 3 中建模 map>

转载 作者:行者123 更新时间:2023-12-01 22:10:33 25 4
gpt4 key购买 nike

我正在使用 Go 实现一个 API 端点,该端点应该返回如下所示的数据:

{
"object1s": [
{
"object2": {
"key1": {
"key3": 1,
"key4": 2,
"key5": 3
},
"key2": {
"key3": 4,
"key4": 5,
"key5": 6
}
}
},
{
"object2": {
"key1": {
"key3": 7,
"key4": 8,
"key5": 9
},
"key2": {
"key3": 10,
"key4": 11,
"key5": 12
}
}
}
]
}
如何使用 proto3 进行建模?
我有这个:
message SubObject {
map<string, map<string, int32>> object2 = 1;
}

message ResponseMessage {
repeated SubObject object1s = 1;
}
但我相信语法 map<string, map<string, int>>是无效的。
那么描述 SubObject的正确方式是什么? ?

最佳答案

尚不支持您想要的方式。
现在,唯一的方法是创建一个 message键入以容纳内部 map field 。

message InnerObject {
map<string, int32> object3 = 1;
}

message SubObject {
map<string, InnerObject> object2 = 1;
}

message ResponseMessage {
repeated SubObject object1s = 1;
}
因此,您必须按如下方式修改您的返回数据,
{
"object1s": [
{
"object2": {
"key1": {
"object3": {
"key3": 1,
"key4": 2
}
}
}
}
]
}
引用: Issue#4596

关于go - 如何在 ProtoBuffers 3 中建模 map<string, map<string, int>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64022996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com