kaazing publishBasic передает данные json и перехватывает их в node.js
kaazing publishBasic передает данные json и перехватывает их в node.js
Ниже приведен код для публикации данных в RabbitMQ через каразинг AMQP librarry
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 и получить этот json в node.js
любая помощь будет высоко оценена.
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);
})