我应该如何使用Node.js解析JSON ?是否有一些模块可以安全地验证和解析JSON ?
当前回答
我的解决方案:
var fs = require('fs');
var file = __dirname + '/config.json';
fs.readFile(file, 'utf8', function (err, data) {
if (err) {
console.log('Error: ' + err);
return;
}
data = JSON.parse(data);
console.dir(data);
});
其他回答
JSON的另一个例子。解析:
var fs = require('fs');
var file = __dirname + '/config.json';
fs.readFile(file, 'utf8', function (err, data) {
if (err) {
console.log('Error: ' + err);
return;
}
data = JSON.parse(data);
console.dir(data);
});
如果你想在你的JSON中添加一些注释,并允许尾随逗号,你可能想使用下面的实现:
var fs = require('fs');
var data = parseJsData('./message.json');
console.log('[INFO] data:', data);
function parseJsData(filename) {
var json = fs.readFileSync(filename, 'utf8')
.replace(/\s*\/\/.+/g, '')
.replace(/,(\s*\})/g, '}')
;
return JSON.parse(json);
}
注意,如果JSON中有"abc": "foo // bar"这样的东西,它可能无法正常工作。所以YMMV。
为了安全起见,用这个吧
var data = JSON.parse(Buffer.concat(arr).toString());
JSON.parse("your string");
这是所有。
包括node-fs库。
var fs = require("fs");
var file = JSON.parse(fs.readFileSync("./PATH/data.json", "utf8"));
有关'fs'库的更多信息,请参阅http://nodejs.org/api/fs.html的文档