Пустой ответ при отображении массива объектов в Protobuf с использованием Node JS
Ниже приведен пример ответа API, который представляет собой массив объектов. Я пытаюсь преобразовать этот ответ в protobuff, используя следующие шаги. Но это всегда дает мне пустой ответ.
[
{
travels: "Kallada Travels (Suresh Kallada)",
busType: "Volvo A/C MultiAxle Semisleeper (2+2)",
source: "Angamaly",
opId: "0003",
image_url: null,
ratings: {},
approvedImageCount: 0,
images: []
}
]
шаги:
protobuf.load("common/protos/"+modelName+".proto",function(err,root){
if(err) {
return next()
}
var messageType = codeConfig['protoFileMapping'][modelName][reqPath];
console.log('messageType',messageType)
var protoMessage = root.lookupType(messageType);
// console.log('protoMessage',protoMessage)
var jsonResp = JSON.parse(JSON.stringify(ctx.result));
console.log('jsonResp',jsonResp);
var errMsg = protoMessage.verify(jsonResp);
console.log('errMsg',errMsg)
if (errMsg){
return next();
}
//problem starts here
var msg = protoMessage.create(jsonResp);
console.log('msg',msg)
var buffer = protoMessage.encode(msg).finish();
console.log('buffer',buffer)
Отклик:
Сообщение в журнале консоли выглядит примерно так:
msg getReviewsResp {
'0':
{ travels: 'Kallada Travels (Suresh Kallada)',
busType: 'Volvo A/C MultiAxle Semisleeper (2+2)',
source: 'Angamaly',
opId: '0003',
image_url: null,
ratings: {},
approvedImageCount: 0,
images: [] },
response: [] }
В идеальных сценариях msg должно быть таким же, как ответ API, а буфер не должен быть пустым.
buffer <Buffer >