如何为protobuf添加自定义序列化/反序列化?

时间:2019-05-18 14:39:07

标签: serialization deserialization protocol-buffers

我的邮件定义如下

message ID {
    string value = 1;
}

message User {
    ID id = 1;
    google.protobuf.StringValue name = 2;
}

现在,如果我将User的实例序列化为json,我会得到类似的信息

{
    "id": {
        "value" : "myid"
    }
    "name" : "Josh"
}

您可以看到WKT类型的值是未嵌套的。但是,对于我的自定义消息类型User,该值是嵌套的。如何使输出看起来像

{
    "id": "myid"
    "name" : "Josh"
}

我的意思是我如何序列化,反序列化为自定义类型。

我想到的一个选择是更新此功能https://github.com/protocolbuffers/protobuf/blob/master/python/google/protobuf/json_format.py#L199 这意味着,拥有一个json_format.py副本并将_IsWrapperMessage扩展到我的自定义类型

0 个答案:

没有答案