在线JSON转Protobuf | JSON快速生成Proto文件 - GoTool在线工具集

开发工具指南

在线JSON转Protobuf工具,一键将JSON文本或接口数据转换为标准的Proto3消息结构。完美兼容多维度对象嵌套与数组解析,自动保留注释,极大地优化了gRPC协议模型文件的编写流程。

使用说明

功能介绍

1.支持解析嵌套 json 串, 根据递归进行解析嵌套对象
2.支持解析数组 json 串, 会取数组中第一个 json 串进行解析
3.检查 json 串格式是否正确, 输出错误的位置
4.支持生成注释

示例

解析嵌套 json 串

{
    "name": "test", // 姓名
    "age": 10, // 年齡
    "addr": "四川成都", // 地址
    "cls_info": [ // 班級
        {
            "name": "籃球班", // 班名
            "teacher": "張老師" // 老師
        },
        {
            "name": "美術班", // 班名
            "teacher": "李老師" // 老師
        }
    ]
}

处理后

message ClsInfo {
  string name = 1; // 班名
  string teacher = 2; // 老師
}


message GenerateObj {
  string name = 1; // 姓名
  int32 age = 2; // 年齡
  string addr = 3; // 地址
  repeated ClsInfo cls_info = 4; // 班級
}

直接解析数组 json 串

[
	{
		"name": "test",
		"age": 10,
		"addr": "四川成都",
		"cls_info": [
			{
				"name": "篮球班",
				"teacher": "张老师"
			},
			{
				"name": "美术班",
				"teacher": "李老师"
			}
		]
	},
	{
		"name": "test2",
		"age": 10,
		"addr": "四川成都",
		"cls_info": [
			{
				"name": "篮球班",
				"teacher": "张老师"
			},
			{
				"name": "美术班",
				"teacher": "李老师"
			}
		]
	}
]

处理后

message GenerateObj {
  string name = 1;
  int32 age = 2;
  string addr = 3;
  repeated ClsInfo cls_info = 4;
}

message ClsInfo {
  string name = 1;
  string teacher = 2;
}