Javascript 基于Node.js中的键返回值
我对JS和Node的世界还很陌生,所以这似乎是一件很容易做到的事情,但这似乎是我无法做到的事情 假设我在json文件中有以下json示例Javascript 基于Node.js中的键返回值,javascript,node.js,Javascript,Node.js,我对JS和Node的世界还很陌生,所以这似乎是一件很容易做到的事情,但这似乎是我无法做到的事情 假设我在json文件中有以下json示例 { "0": "somestring1", "1": "somestring2", "2": "somestring3", "3": "somestring4", "4": "somestring5", "5": "somestring6", "6": "somestring7" } 在我的server.js文件中,我像这样加载文件 var fs = req
{
"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
var parsed=JSON.parse(数据);res.write(已解析[0])代码>@AndyRay YUNO提交作为答案?谢谢,我知道这将是一件非常简单的事情,发布作为答案,我会将其标记为正确