【问题标题】:kaazing publishBasic pass json data and catch it in node.jskaazing publishBasic 传递 json 数据并在 node.js 中捕获它
【发布时间】:2012-06-28 09:48:54
【问题描述】:

kaazing publishBasic 传递 json 数据并在 node.js 中捕获它

下面是通过 kaazing AMQP 库将数据发布到 RabbitMQ 的代码

var body = new ByteBuffer();
body.putString("new_bidder", Charset.UTF8);
body.flip();

var headers = {};
publishChannel.publishBasic(body, headers, consumeExchange, "server.aa.bb", false, false);

这是在 node.js 中捕获数据的代码

q.subscribe(function (message) {
// Print messages to stdout
var msg = message.toString('UTF-8');
console.log(msg.length);
// console.log(message);
})

问题是 publishBasic 函数期望正文以字节为单位,我想传递 json 并在 node.js 中获取该 json

任何帮助将不胜感激。

【问题讨论】:

    标签: json node.js message-passing kaazing


    【解决方案1】:

    只需使用 JSON.stringify。

    var myObject = {
         bidder : "new_bidder",
         property2 : property2_value,
    };
    
    var body = new ByteBuffer();
    body.putString(JSON.stringify(myObject), Charset.UTF8);
    body.flip();
    
    publishChannel.publishBasic(body, headers, consumeExchange, "server.aa.bb", false, false);
    

    在 Node.JS 中,您使用 JSON.parse:

    q.subscribe(function (message) {
       var msg = message.toString('UTF-8'); 
       // Print messages to stdout
       console.log(msg);
       // now convert back to JSON object so you can use in your code
       var myObject = new Object();
       myObject = JSON.parse(msg);
       console.log(msg.bidder);
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多