反序列化中是否使用了 Bond 字段名称?

Are Bond field names used in deserialization?

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

struct NameBond
{
    1: string name;
}

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

struct NameBond
{
    1: string displayName;
}

我还能反序列化它吗?

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

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

这取决于您使用的协议。

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

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

Caution should be used when changing or reusing field names as this could break text-based protocols like SimpleJsonProtocol

另见