在Protobuf字节字段中保存数据None
的方法是使用Protobuf的oneof
关键字。oneof
关键字允许在一个消息中定义多个字段,但只能有一个字段被设置为非空值。
具体步骤如下:
oneof
关键字定义一个none_value
字段,该字段可以保存None
值。message MyMessage {
oneof data {
int32 integer_value = 1;
string string_value = 2;
bool boolean_value = 3;
bytes bytes_value = 4;
// 添加以下字段
google.protobuf.NullValue none_value = 5;
}
}
None
,则将none_value
字段设置为google.protobuf.NullValue.NULL_VALUE
。from google.protobuf import null_value_pb2
my_message = MyMessage()
my_message.none_value = null_value_pb2.NULL_VALUE
none_value
字段是否设置为google.protobuf.NullValue.NULL_VALUE
来判断字段是否为None
。if my_message.none_value == null_value_pb2.NULL_VALUE:
# 字段为None
else:
# 字段有值
这样,就可以在Protobuf字节字段中保存数据None
了。
领取专属 10元无门槛券
手把手带您无忧上云