AZ Tools

JSON 转 Protobuf 模式转换器 (proto3)

开发

粘贴任意 JSON 对象或数组,即可获得可直接使用的 Protocol Buffers(proto3)模式:字段映射为 proto 标量类型(string、int64、double、bool),数组映射为 repeated 字段,嵌套对象生成独立的 message。非 lower_snake_case 的键会添加 [json_name = "..."] 选项,使标准 JSON 映射仍与原始键匹配。全部在浏览器本地运行——你的 JSON 不会被上传。

Protobuf 模式

使用方法

  1. 在输入框中粘贴或输入你的 JSON。
  2. 可选地重命名根消息(默认 Message)。
  3. 从输出框复制生成的 .proto 模式。

常见问题

数字如何确定类型?
整数变为 int64,带小数点的数字变为 double。如需其他宽度,可改为 int32、uint32、float 等。
null、空数组或嵌套数组如何处理?
它们映射为 google.protobuf.Value(并添加 import "google/protobuf/struct.proto"),因为 proto3 没有原生 null,也不允许 repeated repeated 字段。
为什么有些字段带 json_name 选项?
proto 字段名为 lower_snake_case。当标准 camelCase JSON 映射无法还原你的原始键时,会添加 [json_name = "..."] 选项,使 JSON 往返正确。
我的 JSON 会被发送到某处吗?
不会。转换完全在你的浏览器中进行,不会上传任何内容。

相关工具