如何从JSON文件中的输入搜索中提取数据并将其发送到客户端?

时间:2018-12-31 14:46:21

标签: node.js json websocket socket.io

我必须从前端发送一条消息,并且必须从data.json文件中提取该消息,然后将结果显示给客户端。

这是服务器端的伪代码:

var io = socket(server);
io.on('connection', (socket) => {


    socket.on('chat', function(data){

              fs.readFile('data.json', (err, data1) => {
              if (err) throw err;
              let client = JSON.parse(data1);
              console.log(client[data.message].id);

          });

        // console.log(data.message);

        io.sockets.emit('chat', data);

    });

通过输入的数据将被发送到服务器,如下所示:

var socket = io.connect('http://localhost:3000');

var message = document.getElementById('message'),
      btn = document.getElementById('send'),
      output = document.getElementById('output'),
      feedback = document.getElementById('feedback');


btn.addEventListener('click', function(){

    socket.emit('chat', {
        message: message.value,
        // handle: handle.value
    });
    message.value = "";
});

现在我的消息格式如下:

{“symbols”: [“symbol1”, “symbol2”, ….]}

data.json文件是这样的:

{
"nasdaq-ospr": {
"id": "70217145",
"unique_id": "NASDAQ-OSPR",
"function": "nasdaq-ospr",
"close": "10.14",
"open": "11.37",
"price": "11.29",
"high": "11.4",
"low": "11.29",
"change_price": "1.15",
"per": "11.34",
"day_range": "11.29 - 11.4",
"change_all": "+1.15 (+11.34%)",
"sign": "+",
"market_open": "N",
"timestamp": "08/23 20:02",
"time_zone": "EST",
"change_value": "N"
},
{
}...
}

现在,无论输入内容如何,​​我都必须从中获取每个字段:

for eg- 
if I input 
{“nasdaq-ospr”: [“id”, “unique_id”,"function"]}

然后它应该还给我:

"id": "70217145",
"unique_id": "NASDAQ-OSPR",
"function": "nasdaq-ospr",

0 个答案:

没有答案