簡體   English   中英

根據Node.js中的Key返回值

[英]Return Value based on Key in Node.js

我對JS和Node還是很陌生,所以這似乎很容易做到,但是我似乎無法正常工作。

說我在json文件中有以下json示例

{
"0": "somestring1",
"1": "somestring2",
"2": "somestring3",
"3": "somestring4",
"4": "somestring5",
"5": "somestring6",
"6": "somestring7"
}

在我的server.js文件中,我像這樣加載文件

var fs = require('fs')

var parsedJson = fs.readFile('./jsonfile.json', function (err, data) 
{
  res.write(data);
  res.end();
})

擊中服務器將返回所有json(如預期的那樣),但我要執行的操作是解析文件並基於鍵返回單個值,因此可以實現以下目的:

for (var entry in data)
{
    if (entry.key == 0)
    {
      res.write(thing.value);
      //"somestring1" would be sent here
    }
}

這種事情如何在JS / Node中完成。 我嘗試過的一切似乎都沒有用

謝謝!

克里斯

也許是這樣的嗎?

var http = require('http');
var fs = require('fs');

var data = JSON.parse(fs.readFileSync('data.json'));

var server = http.createServer(function(req, res) {
  var key = req.url.replace('/', '');
  var value = data[key];

  if (value) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end(value);
  } else {
    res.writeHead(404, {'Content-Type': 'text/plain'});
    res.end('Not Found');
  }
});

server.listen(1337, '127.0.0.1');

然后在命令行上:

$ curl localhost:1337/1
somestring2

$ curl localhost:1337/x
Not Found

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM