JS读取json文件并用作对象

时间:2016-01-14 12:11:30

标签: javascript json node.js object

我正在尝试这样获取此作品中数组中的项目数

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)

1 个答案:

答案 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);