JSON 转 Protobuf 模式转换器 (proto3)
粘贴任意 JSON 对象或数组,即可获得可直接使用的 Protocol Buffers(proto3)模式:字段映射为 proto 标量类型(string、int64、double、bool),数组映射为 repeated 字段,嵌套对象生成独立的 message。非 lower_snake_case 的键会添加 [json_name = "..."] 选项,使标准 JSON 映射仍与原始键匹配。全部在浏览器本地运行——你的 JSON 不会被上传。
—
Protobuf 模式
使用方法
- 在输入框中粘贴或输入你的 JSON。
- 可选地重命名根消息(默认 Message)。
- 从输出框复制生成的 .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 会被发送到某处吗?
- 不会。转换完全在你的浏览器中进行,不会上传任何内容。
相关工具
Protobuf 解码器(无需 .proto)
粘贴 base64 或 hex 的 protobuf 字节,无需 schema 即可读出字段编号、wire 类型、嵌套消息、字符串和 packed 数组。
开发 0 0
JSON 转 GraphQL 模式(SDL)转换器
在浏览器中将 JSON 对象转换为带标量映射的 GraphQL 类型定义(SDL)。
开发 0 0
JSON → TypeScript 接口
从任意 JSON 样本生成 TypeScript 接口——按键名递归推断类型。
开发 0 0
JSON 转 Zod 校验模式生成器
在浏览器中将 JSON 对象转换为带类型推断的 Zod 校验模式。
开发 0 0
JSON 转 Mongoose 模式生成器
在浏览器中将 JSON 对象转换为带类型映射路径的 Mongoose 模式。
开发 0 0
JSON Schema 生成器
粘贴任意 JSON,获得匹配其形状的 draft-07 JSON Schema — 类型推断、格式检测、required 字段填充。
开发 0 0