繁体   English   中英

如何使用NodeJs流过滤JSon文件

[英]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'}]

http://jsfiddle.net/65Pyj/

假设我想选择所有绿色点

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM