Пустой ответ при отображении массива объектов в 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 >

0 ответов

Другие вопросы по тегам