可以从node.js fs库中readFileSync从文本文件加载数组吗?

时间:2016-09-03 01:16:54

标签: javascript node.js

我的文本文件包含两个对象的一个​​小数组(为简单起见),如array1所示。我想加载此文本文件并在更下游的步骤中操作该数组。当它加载时,它表示它是一个字符串,因此禁止数组操作。加载后如何加载和操作我的数组?

var request = require('request');
var cheerio = require('cheerio'),
var fs = require('fs');

array1 = fs.readFileSync('smallArray.txt', 'utf8');
console.log(typeof array1);
//logs string!! 

var array2 = [{"username":"one","name":"158","EF":40.745954}, {"username":"two","name":"216","EF":24.016202}; 
console.log(typeof array2);
// logs object!!

2 个答案:

答案 0 :(得分:1)

如果smallArray.txt包含有效的JSON,您需要做的就是解析内容:

array1 = JSON.parse(fs.readFileSync('smallArray.txt', 'utf8'));

答案 1 :(得分:1)

如果文件中的数据是有效的JSON,并且您将smallArray.txt重命名为smallArray.json,则可以使用require(),它会自动解析它:

var array1 = require('smallArray.json');