我正在尝试这样获取此作品中数组中的项目数
JSON
{
"collection" : [
{
"item": "apple"
},
{
"item": "banana"
}]
}
使用以下 JS (NodeJS): 更新了用户' elssar'
的答案var data = JSON.parse(fs.readFileSync(filePath));
console.log(data.collection.length);
预期结果: 2
不指定编码data
将是缓冲区而不是字符串(感谢用户nils)。 JSON.parse应该适用于两者。现在我收到错误Unexpected token ? at Object.parse (native)
。知道如何解决这个问题吗? (使用Node 5.2.0)
答案 0 :(得分:2)
您需要将文件内容parse改为JSON。
fs.readFile(filePath, function (error, content) {
var data = JSON.parse(content);
console.log(data.collection.length);
});
或者
var data = JSON.parse(fs.readFileSync(filePath));
或者,你可以只有require
个json文件(文件扩展名需要是.json)
var data = require(filePath);
console.log(data.collection.length);