使用node.js amqp模块时如何将AQMP消息缓冲区转换为JSON对象?

 yimotoumingg_681 发布于 2023-02-09 21:32

我使用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
}

谢谢.

2 个回答
  • message.data.toString()返回了相应的JSON字符串.

    2023-02-09 21:41 回答
  • 如果您收到包含JSON的Buffer,那么您需要将其转换为字符串以输出对控制台有意义的内容:

    console.log(message.toString())
    

    如果要将该字符串转换为完整的JavaScript对象,则只需解析JSON:

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

    编辑: node-amqp似乎能够直接发送JavaScript对象(见这里),你不应该接收缓冲区而是JavaScript对象...检查你如何发送你的消息.

    2023-02-09 21:43 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有