Как преобразовать буфер сообщений AQMP в объект JSON при использовании node.модуль JS amqp?



Я использую узел.JS amqp модуль для чтения сообщений из очереди. Ниже приведен обратный вызов, который вызывается при наличии сообщения, доступного в очереди:



function onMessage(message, headers, deliveryInfo)
{
console.log(message); //This prints buffer
//how to convert message (which I expect to be JSON) into a JSON object.
//Also how to get the JSON string from the 'message' which seems to be a buffer
}


Спасибо.

688   2  

2 ответов:

Если вы получаете буфер, содержащий JSON, то вам нужно преобразовать его в строку, чтобы вывести что-то значимое на консоль:

console.log(message.toString())

Если вы хотите преобразовать эту строку в полный объект JavaScript, то просто разберите JSON:

var res = JSON.parse(message.toString())

Edit: node-amqp, похоже, может напрямую отправлять объекты JavaScript (см. здесь), вы должны получать не буферы, а объекты JavaScript... Проверьте, как вы отправляете свои сообщения.

Сообщение.данные.toString() возвращает соответствующую строку JSON.

Comments

    Ничего не найдено.