反序列化中是否使用了 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
另见 。
假设我用一个字段序列化了给定的 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
另见