[英]How can I filter JSon File using NodeJs streams
我正在使用Node.JS流来解析json文件并将其绘制在地图上。 我有两个文件:前端我绘制数据
'/points.geojson'
服务器端:1-我加载外部文件(output.json)。
var fs = require('fs');
app.get('/points.json', function(req, res) {
res.setHeader('Content-Type', 'application/json');
fs.createReadStream(__dirname + '/output.json').pipe(res);
});
2-现在我想过滤这些数据
我有三个选择
1-在客户端:我不确定是否应该使用Angular-JS过滤,或使用此库Filter.JS的纯JS
我有一个非常庞大的文件(100mb)。 那么,让我们考虑这个例子:
[
{'name': 'Apple', 'colour': 'Red'},
{'name': 'Orange', 'colour': 'Orange'},
{'name': 'Banana', 'colour': 'Yellow'}]
假设我想选择所有绿色点
var output = arr.filter(function(x){return x.colour =="green"});
2-在服务器端我的问题是我想在服务器端过滤json数据,所以我不加载和重新加载数据(因为它很大)。 我应该过滤Node.Js上的数据。
当我选中“绿色”时,我想过滤数据。 然后使用上述脚本重新加载它。
我读到了快递3,我们可以直接使用res.json({color:'green'}) http://expressjs.com/api.html#res.json
但是如何让它在客户端监听事件(复选框),然后重新加载jsonfile。
任何想法我该怎么做? 我正在使用Node.Js / express
要在不加载和解析整个文件的情况下过滤服务器端,您可以查看这些可以解析JSON流(文件或其他)的模块:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.