10

キューからメッセージを読み取るために node.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
}

ありがとう。

4

2 に答える 2

13

JSON を含む Buffer を受け取った場合は、それを文字列に変換して、意味のあるものをコンソールに出力する必要があります。

console.log(message.toString())

その文字列を完全な JavaScript オブジェクトに変換する場合は、JSON を解析するだけです。

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

編集: node-amqp は JavaScript オブジェクトを直接送信できるようです (こちらを参照)。バッファを受信するのではなく、JavaScript オブジェクトを受信する必要があります... メッセージの送信方法を確認してください。

于 2013-12-17T08:18:32.183 に答える
12

message.data.toString() は適切な JSON 文字列を返しました。

于 2013-12-17T10:22:48.190 に答える