Как преобразовать буфер сообщений 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
}
Спасибо.
2 ответов:
Если вы получаете буфер, содержащий JSON, то вам нужно преобразовать его в строку, чтобы вывести что-то значимое на консоль:
console.log(message.toString())Если вы хотите преобразовать эту строку в полный объект JavaScript, то просто разберите JSON:
var res = JSON.parse(message.toString())Edit: node-amqp, похоже, может напрямую отправлять объекты JavaScript (см. здесь), вы должны получать не буферы, а объекты JavaScript... Проверьте, как вы отправляете свои сообщения.
Comments