You need to enable JavaScript to run this app. 使用grpc-web_out编译proto时如何保留字段camelCase?有对应配置项吗?
优惠活动
大模型
产品
解决方案
定价
更多

使用grpc-web_out编译proto时如何保留字段camelCase?有对应配置项吗?

解决方法

你遇到的字段被转换为全小写格式是protobuf官方JavaScript代码生成器的默认行为,只需要在--js_out参数中新增保留原字段名的配置即可,不需要修改proto文件内容。

调整后的编译命令

将你的第一条编译命令修改为如下格式即可,第二条grpc-web_out的命令不需要变动:

protoc.exe -I../grpc/proto/ --js_out=import_style=commonjs,binary,field_name_case=preserve:../src/grpchandlers/ ../proto/*.proto 

相关说明

  • field_name_case=preserve参数需要3.12及以上版本的protoc支持,如果执行报错请先升级protoc到最新稳定版
  • 该参数仅作用于--js_out生成的*_pb.js文件,会保留proto中定义的字段原有大小写格式,不会强制转换为全小写或其他格式
  • 重新执行编译命令后,生成的myproto_pb.js中toObject方法返回的对象键名就会和你在proto中定义的camelCase命名保持一致

内容的提问来源于stack exchange,提问作者K10

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 23:54:05