有没有办法让protoc-gen-go中json的键名小驼峰命名?

bet*_*chi 5 go protocol-buffers

当使用 protoc-gen-go 从 proto 文件生成 go 代码时,json 的键名称将保留为 proto 文件中指定的键。在官方字段名中推荐使用snake case。 https://developers.google.com/protocol-buffers/docs/style

但是,我希望 json 的键名称为蛇形命名法。

当我检查 protoc-gen-go 的生成器代码时,我当然按原样设置了字段名称。

jsonName := *field.Name
tag := fmt.Sprintf("protobuf:%s json:%q", g.goTag(message, field, wiretype), jsonName+",omitempty")
Run Code Online (Sandbox Code Playgroud)

这对我来说是理想的解决方案:

jsonName := field.GetJsonName()
Run Code Online (Sandbox Code Playgroud)

如何获取蛇形大小写的字段名称?

bet*_*chi -2

这个问题就解决了。

通过使用 gogo/protobuf(https://github.com/gogo/protobuf)。

我用了gogoproto.jsontag