📦 在线JSON转Protobuf Schema工具

免费在线JSON转Protobuf Schema工具,自动推断JSON数据类型生成.proto文件定义,支持嵌套对象、数组、枚举推断,无需注册。 | 无需注册 · 数据绝不上传服务器

零依赖·可离线使用

输入JSON数据

生成选项

生成的.proto文件

JSON转Protobuf Schema能做什么?

将JSON数据自动转换为Protobuf Schema(.proto文件)定义。工具会分析JSON结构,推断字段类型,生成规范的message定义,支持嵌套对象、数组、枚举等复杂结构,是gRPC和微服务开发的好帮手。

核心功能

自动类型推断:根据JSON值类型自动映射为Protobuf类型

嵌套对象支持:自动生成嵌套message定义

数组处理:自动识别为repeated字段

proto2/proto3切换:支持两种语法版本

一键下载:直接下载为.proto文件

使用教程

步骤1:在输入区域粘贴JSON数据。必须是有效的JSON格式,可以是对象或数组。

步骤2:设置Message名称(如UserRequest)、Proto语法版本和包名。包名可选,留空则不生成package声明。

步骤3:点击「生成.proto」按钮,结果即时显示。复制或下载.proto文件后可配合protoc编译器使用。

应用场景

场景1:gRPC服务开发 — 从现有JSON API迁移到gRPC时,先用本工具快速生成.proto骨架,再手动调整细节,大幅减少手写Schema的工作量。

场景2:微服务接口定义 — 团队讨论接口时常用JSON示例,确认后用本工具一键转为Protobuf定义,保证实现与设计一致。

场景3:数据迁移 — 将JSON格式的配置或数据迁移到Protobuf存储时,快速生成对应的Schema定义。

扩展知识

类型映射规则:string→string,number(整数)→int32(超范围用int64),number(浮点)→double,boolean→bool,null→NullValue,object→嵌套message,array→repeated。proto3所有字段默认optional。

Protobuf vs JSON:Protobuf序列化后体积比JSON小3-10倍,解析速度快20-100倍,有严格的类型检查。缺点是人类不可读,需要.proto文件才能解析。适合内部服务通信,不适合面向前端的API。

什么是Protobuf?

Protocol Buffers(Protobuf)是Google开发的序列化格式,比JSON更小更快。需要定义.proto文件描述数据结构,编译器生成各语言代码。广泛用于gRPC、微服务通信等高性能场景。

如何推断JSON字段类型?

工具根据JSON值自动推断:字符串→string,整数→int32,浮点数→double,布尔→bool,null→NullValue,对象→嵌套message,数组→repeated。整数范围超int32则用int64。

支持嵌套对象吗?

支持。嵌套对象会自动生成嵌套的message定义。例如JSON中的user对象会生成message User嵌套在父message中。支持任意深度嵌套。

生成的.proto文件可以直接使用吗?

生成的是有效的.proto文件,可配合protoc编译器使用。建议检查字段编号和类型是否符合需求,必要时手动调整syntax版本和package名称。

数组元素类型如何确定?

工具取数组第一个元素的类型作为repeated字段类型。如果数组为空,默认使用string类型。建议在转换后检查数组字段的类型是否正确。

JSON中的null值如何处理?

JSON中的null值会被推断为NullValue类型。你也可以使用optional关键字标记可能为null的字段(proto3语法)。

常见问题

在线JSON转Protobuf Schema工具 | 无需注册 · 数据绝不上传服务器

问题反馈: dexshuang@google.com