How to convert from Json to Protobuf?

后端 未结 2 1640
误落风尘
误落风尘 2020-12-13 18:14

I\'m new to using protobuf, and was wondering if there is a simple way to convert a json stream/string to a protobuf stream/string in Java?

For example,



        
相关标签:
2条回答
  • 2020-12-13 18:39
    //You can use this for converting your input json to a Struct / any other Protobuf Class    
    
    import com.google.protobuf.Struct.Builder;
    import com.google.protobuf.Struct;
    import com.google.protobuf.util.JsonFormat;
    import org.json.JSONObject;
    
    JSONObject parameters = new JSONObject();
    
    Builder structBuilder = Struct.newBuilder();
    JsonFormat.parser().merge(parameters.toString(), structBuilder);
    
    // Now use the structBuilder to pass below (I used it for Dialog Flow V2 Context Management)
    
    0 讨论(0)
  • 2020-12-13 18:48

    With proto3 you can do this using JsonFormat. It parses directly from the JSON representation, so there is no need for separately calling MyMessage.parseFrom(...). Something like this should work:

    JsonFormat.parser().merge(json_string, builder);
    
    0 讨论(0)
提交回复
热议问题