Javascript Node.js:读取文件并将字符串作为数组放入数组

Javascript Node.js:读取文件并将字符串作为数组放入数组,javascript,arrays,string,file,node.js,Javascript,Arrays,String,File,Node.js,我正在做一个项目,需要读取一些fle并将拆分的(带\n-新行)字符串作为数组放入数组中。这意味着使用fs.readFileSync(文件路径'utf8').split('\n'))读取文件的输出 是字符串,我需要将其转换为数组,但存在问题,因为我不知道如何转换。以下是一些输入数据的示例: [[164,17567,160,[]],[166,8675,103,[]], [[164,17567,160,[]],[166,8675,103,[]], [[164,17567,160,[]],[166,86

我正在做一个项目,需要读取一些fle并将拆分的(带\n-新行)字符串作为数组放入数组中。这意味着使用
fs.readFileSync(文件路径'utf8').split('\n'))读取文件的输出
是字符串,我需要将其转换为数组,但存在问题,因为我不知道如何转换。以下是一些输入数据的示例:

[[164,17567,160,[]],[166,8675,103,[]],
[[164,17567,160,[]],[166,8675,103,[]],
[[164,17567,160,[]],[166,8675,103,[]],
[[164,17567,160,[]],[166,8675,103,[]]
我试图将其与for循环一起使用,但我无法以某种方式将其从字符串转换为数组,输出如下:

"[[164,17567,160,[]],[166,8675,103,[]]",
"[[164,17567,160,[]],[166,8675,103,[]]",
"[[164,17567,160,[]],[166,8675,103,[]]",
"[[164,17567,160,[]],[166,8675,103,[]]"

我建议您使用换行符进行拆分,然后重新组合成一个没有换行符的字符串,最后使用JSON.parse进行解析

var lines = fs.readFileSync(filepath, 'utf8').split('\n');
var rawData = '';
for (var l in lines){
    var line = lines[l];
    rawdata += line;
}
var data = JSON.parse('[' + rawdata + ']');
然而!看起来(除非是打字错误)每行都有一个额外的方括号。必须在解析之前删除这些数据,如果您对源数据有任何控制权,最好从源数据中删除:)


此外,要使其成为有效的JSON,您必须将整个内容包装在“[]”中,如我上面所示。

我建议您继续使用换行符进行拆分,然后重新组合成一个没有换行符的字符串,最后使用JSON.parse进行解析

var lines = fs.readFileSync(filepath, 'utf8').split('\n');
var rawData = '';
for (var l in lines){
    var line = lines[l];
    rawdata += line;
}
var data = JSON.parse('[' + rawdata + ']');
然而!看起来(除非是打字错误)每行都有一个额外的方括号。必须在解析之前删除这些数据,如果您对源数据有任何控制权,最好从源数据中删除:)


此外,要使其成为有效的JSON,您必须将整个内容包装在“[]”中,如我上面所示。

var data=require(filepath)
对.json文件执行相同的操作。我已经尝试过对其进行解析,但是这个函数会从数组中删除一些对象。在最后,解析的数组变成了一个用逗号操作的数字列表。我已经尝试根据您的评论改进答案,请查看
var data=require(filepath)
对.json文件执行相同的操作。我已经尝试过对其进行解析,但是这个函数会从数组中删除一些对象。在最后,解析的数组变成了一个用逗号运算的数字列表。我已经根据你的评论改进了答案,请看一看