2

假设我用一个字段序列化了一个给定的 Bond 结构:

struct NameBond
{
    1: string name;
}

然后我重命名了 .bond 文件中的字段(不更改其序数):

struct NameBond
{
    1: string displayName;
}

我还能反序列化它吗?

结构的名称呢?(NameBond在示例中。)

改变它会阻止我反序列化吗?

4

1 回答 1

2

这取决于您使用的协议。

  • 您的更改不会导致CompactBinary序列化程序出现任何问题。
  • 它可能会导致其他协议出现问题。

您可能需要查阅Bond schema evolution guide,其中说:

更改或重用字段名称时应小心,因为这可能会破坏基于文本的协议,如 SimpleJsonProtocol

另请参阅这个相关的 SO 问题

于 2017-03-16T10:58:24.193 回答