我有以下代码,它接受来自 url 的数据并打印 json 格式的数据。我想使用 node.js 将相同的数据发布到 mqtt。是否有相同的示例代码?
`var request = require('request')
var JSONStream = require('JSONStream')
`var es = require('event-stream')`
`request({url: 'http://isaacs.couchone.com/registry/_all_docs'})
`.pipe(JSONStream.parse('rows.*'))
.pipe(es.mapSync(function (data) {
console.log(data);
console.error(data)
return data
}))
最佳答案
您可以使用 mqtt 节点库 MQTT.js
你当前的代码变成这样:
var request = require('request');
var JSONStream = require('JSONStream');
var es = require('event-stream');
var mqtt = require('mqtt');
request({url: 'http://isaacs.couchone.com/registry/_all_docs'})
.pipe(JSONStream.parse('rows.*'))
.pipe(es.mapSync(function (data) {
console.log(data);
console.error(data);
//MQTT publish starts here
var client = mqtt.createClient(1883, 'localhost');
client.publish('demoTopic', JSON.stringify(data));
client.end();
return data;
}))
以上代码假定代理在本地机器上的 1883 端口上运行。
关于json - 如何使用 node.js 通过 mqtt 发布从 URL 接收的实时流式 json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24858365/