0
type House struct {
Address string
Rooms []struct {
Name string
Windows int
Doors int
}
}
或等效的JSON表示:
{
"address": ""
"rooms": [
{
"name": ""
"windows": 0
"doors": 0
}
]
}
什么会等效协议缓冲区表示呢?
这是多还是少,我想做些什么操作(虽然不是一个有效的原语法):
message House {
string address = 1;
repeated message {
string name = 3;
int32 windows = 4;
int32 doors = 5;
} rooms = 2;
}
相反,做这样是有效的,但不能准确地表示,因为该数据原来rooms
片包含匿名对象:
message House {
string address = 1;
repeated room rooms = 2;
}
message room {
string name = 1;
int32 windows = 2;
int32 doors = 3;
}
更新:我想我误解了消息声明是如何工作的。我给出的第二个示例应该足够,并且实际上不会影响JSON解组。
为什么它关系到protobuf中结构的名称? – akond
我试图将一个JSON文档解组到Go结构中。但是因为我使用Protocol Buffers作为序列化格式,所以我需要匹配由它们生成的JSON名称。 – Rtsne42