Window+IDEA+Java+protobuf生成

本文详细介绍了在Windows环境下安装protobuf的步骤,包括下载、解压、配置环境变量,并在IDEA中安装相关插件。通过引入protobuf的依赖,可以将.proto文件转化为Java实体类。同时,文章提供了将byte[]转换为Java对象及转化为Json字符串的方法,为protobuf的使用提供了一站式的解决方案。
摘要由CSDN通过智能技术生成

首先需要先下载适用windowcaozuo系统的protobuf安装包,类似于JDK。
下载地址:https://github.com/protocolbuffers/protobuf/releases
下载如下图所示的安装包
在这里插入图片描述
解压后,将bin文件夹添加到环境变量
在这里插入图片描述
windows+r输出cmd打开命令行窗口。输入protoc,出现下图表示安装成功
在这里插入图片描述
接下来需要打开IDEA安装相应的插件

在这里插入图片描述
在这里插入图片描述
安装以上两个插件既可以开始操作protobuf相关协议

首先在项目中引入依赖

 <dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
            <version>3.19.0</version>
        </dependency>
        <dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java-util</artifactId>
            <version>3.19.0</version>
        </dependency>

找到对应的xxx.proto文件放入IDEA项目中,按下图操作既可以生成java实体类。
请添加图片描述
接下来就是处理byte[]转换为java实体类问题

PassengerInformation.PassengerInformationMsg passengerInformationMsg = PassengerInformation.PassengerInformationMsg.parseFrom(bytes);

对象化转换为json字符串(需要使用上面引入的Protobuf相关jar中类

  /**
     * ProtoBuf Builder转换成Json字符串
     *
     * @param messageOrBuilder
     * @return
     */
    public static String getStrByBuilder(MessageOrBuilder messageOrBuilder) {
        JsonFormat.Printer printer = JsonFormat.printer();
        try {
            final String print = printer.print(messageOrBuilder);
            return print;
        } catch (InvalidProtocolBufferException e) {
            log.error("Protocol对象转换成JSon字符串错误", e.getStackTrace());
            return null;
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值