【protobuf】protobufとjsonの相互変換

1281 ワード

protobufとjsonの相互変換


//Protocol_demoクラス
pbからjsonに変換
Protocol_demo.Response.Builder builder = Protocol_demo.Response.newBuilder();
Message message=builder.build();
public static  String protobufToJson(Message message) {
         String jsonFormat =JsonFormat.printToString(message);  
        return jsonFormat;
}

jsonからprotobufへ
Protocol_100.Response.Builder builder =Protocol_100.Response.newBuilder();

                        try {
                            JsonFormat.merge(jsonFormat, builder);
                        } catch (com.googlecode.protobuf.format.JsonFormat.ParseException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        Protocol_100.Response rb=builder.build();
                        System.out.println("getId:" + rb.getPlayer().getId());  
                        System.out.println("getName:" + rb.getPlayer().getName());  

pom.xml構成
    
        com.googlecode.protobuf-java-format
        protobuf-java-format
        1.2