在Node.js中基于Key返回值



我对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

最新更新