我想将 protobuf 任何类型 转换为 json。但 json 包含
@type
字段。有没有办法可以将它从结果 json 中排除?
例如,我有一个像这样的原型定义
message Cluster {
string name = 1;
}
以及以下代码
cluster := &pb.Cluster{Name: "123"}
c, _ := anypb.New(cluster)
jsonBytes, _ := protojson.Marshal(c)
log.Println(string(jsonBytes))
即将打印
{"@type":"type.googleapis.com/Cluster", "name":"123"}
有没有办法可以排除
@type
字段,这样我就可以得到这样的东西?
{"name":"123"}
如果你想使用 ANY 作为字段类型,JSON 中的标签 @type 是必要的 protobuf 文档 我建议你使用 Struct 作为字段类型,就像这样 example 并且不要使用 ANY