Javascript 获取JSON流的内容
处理Node.js中的bot,该bot扩展由另一个bot创建的数据。该机器人将其所有数据输出到JSON页面 但我看不到JSONStream生成的数据的控制台输出。 我如何才能得到它,以便我可以使用它为我的扩展系统Javascript 获取JSON流的内容,javascript,json,node.js,Javascript,Json,Node.js,处理Node.js中的bot,该bot扩展由另一个bot创建的数据。该机器人将其所有数据输出到JSON页面 但我看不到JSONStream生成的数据的控制台输出。 我如何才能得到它,以便我可以使用它为我的扩展系统 var request = require('request') , JSONStream = require('JSONStream') , es = require('event-stream') request({url: 'https://mee6.xyz/level
var request = require('request')
, JSONStream = require('JSONStream')
, es = require('event-stream')
request({url: 'https://mee6.xyz/levels/267482689529970698?json=1'})
.pipe(JSONStream.parse('rows.*'))
.pipe(es.mapSync(function (data) {
console.error(data)
var stream = JSONStream.parse(['rows', true, 'doc']) //rows, ANYTHING, doc
stream.on('data', function(data) {
console.log('received:', data);
});
//emits anything from _before_ the first match
stream.on('header', function (data) {
console.log('header:', data) // => {"total_rows":129,"offset":0}
})
}))
有几个问题。 您似乎混合了JSONStream文档中描述的两种方法 首先,您请求的JSON不包含任何名为“row”的字段,这就是为什么这不起作用的原因:
.pipe(JSONStream.parse('rows.*))
要查看输出,可以执行以下操作:
请求({url:'https://mee6.xyz/levels/267482689529970698?json=1'})
//所以我得到了所有球员的记录
.pipe(JSONStream.parse('players.*'))
.pipe(es.mapSync(函数(数据)){
控制台日志(数据);
}));代码>有几个问题。
您似乎混合了JSONStream文档中描述的两种方法
首先,您请求的JSON不包含任何名为“row”的字段,这就是为什么这不起作用的原因:.pipe(JSONStream.parse('rows.*))
要查看输出,可以执行以下操作:
请求({url:'https://mee6.xyz/levels/267482689529970698?json=1'})
//所以我得到了所有球员的记录
.pipe(JSONStream.parse('players.*'))
.pipe(es.mapSync(函数(数据)){
控制台日志(数据);
}));第一个是完美的,是的,我想我在某处犯了一个愚蠢的错误。我将最后一行更改为console.log(data.name);只需输出播放器名称,只需找到一种方法对它们进行排序,这样我就可以将data.id与其在database.id中的匹配项进行比较。我们将继续修补,看看是否可以将它们排序为数组或其他东西。谢谢非常感谢你。由于不熟悉背压,很难找到一种简单的方法来实现良好的流量。连续3天与垂死的流媒体图表搏斗,这就解决了它。现在在huuuge数据集上测试它。第一个是完美的,是的,我想我在某处犯了一个愚蠢的错误。我将最后一行更改为console.log(data.name);只需输出播放器名称,只需找到一种方法对它们进行排序,这样我就可以将data.id与其在database.id中的匹配项进行比较。我们将继续修补,看看是否可以将它们排序为数组或其他东西。谢谢非常感谢你。由于不熟悉背压,很难找到一种简单的方法来实现良好的流量。连续3天与垂死的流媒体图表搏斗,这就解决了它。现在在huuuge数据集上测试它。