首页JSON转Protobuf

JSON转Protobuf

在线JSON转Protobuf工具,支持Proto2/Proto3语法与字段类型映射,快速生成可用的.proto消息定义

Protobuf配置

协议版本

生成选项

类型映射

配置 JSON 类型到 Protobuf 字段类型的转换规则

JSON输入

Protobuf定义

PROTO3 定义
等待生成 Protobuf 定义...

转换统计

0
消息定义
0
字段定义
0
枚举定义
0
嵌套消息

JSON转Protobuf 使用指南

该工具可将 JSON 对象快速转换为 .proto 定义文件,支持 Proto2 与 Proto3 语法,适用于 gRPC 接口建模、协议草拟与联调准备。

Proto2 与 Proto3 差异

  • Proto2 支持 required/optional/repeated,字段约束更严格,适合历史协议维护。
  • Proto3 默认弱化 required,语法更简洁,和 gRPC 生态兼容更好。
  • Proto3 可结合 optional 表达字段存在性,便于接口渐进演进。

转换规则

  • JSON 对象映射为 message,字段名自动转换为 snake_case。
  • JSON 数组映射为 repeated 字段,数组元素对象会生成独立消息类型。
  • 整数、浮点、布尔、字符串类型按映射配置生成,可根据协议调整。
  • null 值默认按字符串类型处理,避免生成非法 Protobuf 字段定义。

使用步骤

  1. 选择 Proto2 或 Proto3,并填写包名与消息名前缀。
  2. 按需勾选优化选项与类型映射策略。
  3. 输入或载入 JSON 示例,系统会自动生成 Protobuf 定义。
  4. 检查结果后可直接复制或下载 .proto 文件。

注意事项

  • 为避免数值精度问题,超大整数建议映射为 string 或 int64。
  • 时间字段可统一使用 string(ISO8601)或 int64(时间戳)策略。
  • 当数组元素结构不一致时,建议先标准化样本再生成协议。
  • 本工具所有计算均在浏览器本地完成,不会上传输入数据。

常见问题

  • 为什么数组字段类型不符合预期?工具会基于数组样本推断,请检查首个有效元素结构。
  • 为什么 message 名称被改写?系统会自动规范化非法字符,确保 .proto 可编译。
  • 为什么没有生成 enum?当前版本专注 JSON 结构到 message 的自动转换,枚举可按业务手动补充。

数据默认在您的本地浏览器上处理,不会上传至服务器。如需上传会明确提示。

© 2026 See-Tool. 保留所有权利。 | 联系站长