例如,这是 protobuf 架构代码,我想用 flatbuffer 架构重写它们吗?代码是什么样的?
message Xx {
required uint32 id = 1;
optional string name = 2;
message Yy {
optional string name = 1;
}
repeated Yy y = 3;
}
谢谢你,我的兄弟。
例如,这是 protobuf 架构代码,我想用 flatbuffer 架构重写它们吗?代码是什么样的?
message Xx {
required uint32 id = 1;
optional string name = 2;
message Yy {
optional string name = 1;
}
repeated Yy y = 3;
}
谢谢你,我的兄弟。
FlatBuffers 内置了 .proto 翻译,尝试一下flatc --proto myschema.proto
,就会得到对应的 .fbs 文件。
但是,在您的情况下,您有嵌套的消息定义,这是 FlatBuffers 不支持的。因此,首先更改您的 .proto ,message Yy
将其移到 .proto 之外message Xx
。还要给它一个包名。你会得到:
table Yy {
name:string;
}
table Xx {
id:uint (required);
name:string;
y:[Yy];
}
编辑:FlatBuffers 现在甚至支持翻译嵌套的 .proto 定义。