2016-03-01 2 views
1

Это рабочая версия JavaScript, которую я пытаюсь сделать в Go.Как декодировать полезную нагрузку Apache Thrift в Go?

let next = TBufferedTransport.receiver(data => { 

let proto = new TCompactProtocol(data) 
let ae = new AnalyticEventBatch() 

ae.read(proto) 
}); 

Использование Go, я не могу заставить Thrift расшифровать полезную нагрузку - что мне делать?

+0

Это полезная нагрузка json? – Derek

+2

Также опубликуйте, что вы уже пробовали в 'GO' – Derek

+0

Проверьте gRPC. http://www.grpc.io/faq/ – voutasaurus

ответ

4
var data []byte //that's the byte array you received 

transp := &TMemoryBuffer{Buffer: bytes.NewBuffer(data)} 
proto := NewTCompactProtocol(transp) 

ae := NewAnalyticEventBatch() 
ae.Read(proto) 

Это было бы более чистым, если бы вы могли читать напрямую из файла/сокета. Тогда вам понадобится только бережливость StreamTransport

+0

У вас есть небольшая опечатка: 'proto: = thrift.NewTCompactProtocol (transp)', но в остальном это сработало отлично! – Rebecca

 Смежные вопросы

  • Нет связанных вопросов^_^