我有一个简单的node.js 服务,我可以在其中针对 jsonSchema 中定义的架构执行一些 json 验证。该服务如下所示:
app.post('/*', function (req, res) {
var isvalid = require('isvalid');
var validJson=true;
var schema = require('./schema.json')
isvalid(req.body,schema
, function(err, validObj) {
if (!validObj) {
validJson = false;
}
handleRequest(validJson,res,err,req);
});
})
尝试使用上面第 4 行中的直接 require 语句。这会产生一个错误:
SyntaxError: c:\heroku\nodejs_paperwork\schema.json: Unexpected token t
这是我的 schema.json:
{
type: Object,
"schema": {
"totalRecords": {
type: String
},
"skip": {
type: Number
},
"take": {
type: Number
}
}
最佳答案
你可能忽略了。您只需使用 require
语句加载和解析它即可。
var jsonData = require('/path/to/yourfile.json');
但是,上述方法的输出会被缓存,一旦您更新 JSON 文件并再次使用 require 加载它,它就会从缓存中加载内容。如果您存储架构的 JSON 文件没有不经常改变,这个方法可能有用。
如果您想每次都从磁盘加载 JSON 文件,而不是从缓存加载。使用fs
:
var fs = require('fs');
fs.readFile(filepath, 'utf8', function (err, data) {
if (err) {
// handle error
return;
}
jsonData = JSON.parse(data);
});
关于javascript - 如何读取我的 Node.js 应用程序中的 json 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30971288/