草庐IT

Protobuf

全部标签

go - 为 protobuf 消息字段定义自定义 go struct 标签

我是grpc的新手,一直在尝试从网络服务器获取json响应。然后stub可以从rpc服务器请求json。在我的.proto文件中,我创建了一个消息类型:messagePost{int64number=1;stringnow=2;stringname=3;}但是我无法编码number字段,因为protoc会生成带有number的结构pb.go文件标签:{"no":"23","now":"12:06:46","name":"bob"}我怎样才能强制Message使用消息字段的小写名称以外的标记进行“转换”?比如使用json标签no,即使Message中的字段名是number。

go - 为 protobuf 消息字段定义自定义 go struct 标签

我是grpc的新手,一直在尝试从网络服务器获取json响应。然后stub可以从rpc服务器请求json。在我的.proto文件中,我创建了一个消息类型:messagePost{int64number=1;stringnow=2;stringname=3;}但是我无法编码number字段,因为protoc会生成带有number的结构pb.go文件标签:{"no":"23","now":"12:06:46","name":"bob"}我怎样才能强制Message使用消息字段的小写名称以外的标记进行“转换”?比如使用json标签no,即使Message中的字段名是number。

go - 如何使用 google.protobuf.timestamp 和 cassandra

我正在使用“google/protobuf/timestamp.proto”在golang结构中定义时间戳类型:import"google/protobuf/timestamp.proto";messageUser{stringid=1;...google.protobuf.Timestampcreated_at=12;google.protobuf.Timestampupdated_at=13;google.protobuf.Timestamplast_login=14;}当使用cqlx插入到cassandra时:req.CreatedAt=ptypes.TimestampNow()

go - 如何使用 google.protobuf.timestamp 和 cassandra

我正在使用“google/protobuf/timestamp.proto”在golang结构中定义时间戳类型:import"google/protobuf/timestamp.proto";messageUser{stringid=1;...google.protobuf.Timestampcreated_at=12;google.protobuf.Timestampupdated_at=13;google.protobuf.Timestamplast_login=14;}当使用cqlx插入到cassandra时:req.CreatedAt=ptypes.TimestampNow()

go - Protobuf、Go 和私有(private)字段

假设我在我的.proto文件中定义了一个Player。messagePlayer{stringfirst_name=1;stringlast_name=2;int32user_id=3;}我正在使用https://github.com/twitchtv/twirp在我的Go后端和我的JavaScript前端之间进行通信。如果您不知道Twirp,它只是HTTP1.1上的JSONRPC。Player消息被转换为Go结构typePlayerstruct{FirstNamestringLastNamestringUserIdint32}众所周知,大写字段是公开的。但是我想将UserId保密,即

go - Protobuf、Go 和私有(private)字段

假设我在我的.proto文件中定义了一个Player。messagePlayer{stringfirst_name=1;stringlast_name=2;int32user_id=3;}我正在使用https://github.com/twitchtv/twirp在我的Go后端和我的JavaScript前端之间进行通信。如果您不知道Twirp,它只是HTTP1.1上的JSONRPC。Player消息被转换为Go结构typePlayerstruct{FirstNamestringLastNamestringUserIdint32}众所周知,大写字段是公开的。但是我想将UserId保密,即

json - 在 Go 中将带有枚举的 Protobuf3 转换为 JSON

如何将grpc/protobuf3消息转换为JSON,其中enum表示为字符串?例如protobuf消息:enumLevel{WARNING=0;FATAL=1;SEVERE=2;...}messageHttp{stringmessage=1;Levellevel=2;}转换为:j,_:=json.MarshalIndent(protoMessage,"","\t")收件人:{"message":"Helloworld!","level":2,}我希望得到:{"message":"Helloworld!","level":"SEVERE",}谢谢 最佳答案

json - 在 Go 中将带有枚举的 Protobuf3 转换为 JSON

如何将grpc/protobuf3消息转换为JSON,其中enum表示为字符串?例如protobuf消息:enumLevel{WARNING=0;FATAL=1;SEVERE=2;...}messageHttp{stringmessage=1;Levellevel=2;}转换为:j,_:=json.MarshalIndent(protoMessage,"","\t")收件人:{"message":"Helloworld!","level":2,}我希望得到:{"message":"Helloworld!","level":"SEVERE",}谢谢 最佳答案

go - 使用 protoc-gen-go 创建一个 .pb.go 导入 google/golang 但找不到包

我正在使用protoc-gen-go将CProtocolBuffers编译成Golang效果很好,我几乎可以goinstall包,但我明白了错误:找不到包“google/protobuf”但是我在任何地方都找不到这个包可以下载,有人能告诉我我应该怎么做吗?谢谢。我正在按照here中的所有步骤进行操作然后我运行protoc--go_out=。*.proto我得到了我所有的文件,但是错误的protoimport 最佳答案 正如@poopoothegoriall所说,请使用来自github的protobuf,而不是code-google。

go - 使用 protoc-gen-go 创建一个 .pb.go 导入 google/golang 但找不到包

我正在使用protoc-gen-go将CProtocolBuffers编译成Golang效果很好,我几乎可以goinstall包,但我明白了错误:找不到包“google/protobuf”但是我在任何地方都找不到这个包可以下载,有人能告诉我我应该怎么做吗?谢谢。我正在按照here中的所有步骤进行操作然后我运行protoc--go_out=。*.proto我得到了我所有的文件,但是错误的protoimport 最佳答案 正如@poopoothegoriall所说,请使用来自github的protobuf,而不是code-google。