Предполагая, что у меня есть .proto со структурой вроде этого:
syntax = "proto3";
message Foo {
...
}
message Bar {
...
}
message Msg {
string baz = 1;
oneof some_union {
Foo foo = 2;
Bar bar = 3;
}
}
Каков ожидаемый способ сериализации такого сообщения? Раздел JSON Mapping в спецификации не очень ясен.
Я могу видеть по крайней мере два способа представить его, что является правильным?
Первый способ: иметь один элемент на "верхнем уровне", игнорировать остальные:
{
"baz" : 0,
"foo" : { ... }
}
Второй способ: иметь свойство "unmbrella" с именем объединения и дать ему одно поле.
{
"baz" : 0,
"some_union": {
"foo" : { .... }
}
}
Чего я должен ожидать?