Как десериализовать данные Messagepack On клиент REST сервера

Я пытаюсь использовать библиотеку пакетов сообщений для сериализации моих данных в клиентской среде REST-сервера.

Я и сериализирую данные, используя код ниже:

 std::vector<std::string> target;
    target.push_back("Hello,");
    target.push_back("World!");

    // Serialize it.
    msgpack::sbuffer sbuf;  // simple buffer
    msgpack::pack(&sbuf, target);

и отправка данных с использованием библиотеки fastcgipp и отправка вывода клиенту с помощью строки:

 out << sbuf.data();

и клиент получает сообщение, но когда я пытаюсь дересализовать его, используя код:

     msgpack::sbuffer lineStream(stBinary.length());
                lineStream.write(stBinary.c_str(), stBinary.length());
               msgpack::unpacked msg;    // includes memory pool and deserialized object
                msgpack::unpack(&msg, lineStream.data(), lineStream.size());
               msgpack::object obj = msg.get();

 std::cout <<"OBJECT__" <<obj << std::endl;  //=> ["Hello", "MessagePack"]

Я получаю OUTPUT OBJECT__72, а не ожидаемый результат:

["Hello", "MessagePack"]

В чем может быть причина?

0 ответов

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