Обнаружено, что для этого есть пакет утилит golang -
Часть кода будет выглядеть следующим образом:
Импорт "github.com/matttproud/golang_protobuf_extensions/pbutil"
data, err := ioutil.ReadFile("stream.strmpb")
myTestMessage := &my_stream.MyTestMessageWrapper{}
in := bytes.NewReader(data)
// Split proto stream to individual message
for {
myTestMessage.Reset()
if _, err := pbutil.ReadDelimited(in, myTestMessage); err != nil {
if err == io.EOF {
break
}
}
// Convert protobuf message to json
marshaler := jsonpb.Marshaler{}
jsonMessage, _ := marshaler.MarshalToString(myTestMessage)
log.Println("jsonMessage:", jsonMessage)
}