Javascript 从桌面解析文件
我在用OSX。我的桌面上有一个文本文件,我试图从文本文件(称为data.txt)中读取数据并将其放入数组中。文本文件的结构如下所示:Javascript 从桌面解析文件,javascript,arrays,node.js,Javascript,Arrays,Node.js,我在用OSX。我的桌面上有一个文本文件,我试图从文本文件(称为data.txt)中读取数据并将其放入数组中。文本文件的结构如下所示: [ "abc1, abc2, 47872, happy", "abc3, abc4, 23232, sad", "abc5, abc6, 64242, tired", "abc7, abc8, 25542, chilly", "abc9, abc10, 23244, warm", ] 这里有一些代码,我正试图开始与得到这一点 var request = requ
[
"abc1, abc2, 47872, happy",
"abc3, abc4, 23232, sad",
"abc5, abc6, 64242, tired",
"abc7, abc8, 25542, chilly",
"abc9, abc10, 23244, warm",
]
这里有一些代码,我正试图开始与得到这一点
var request = require('request');
var commaDelimiter = ',';
var newlineDelimiter = ' ';
var firstArray =[];
var unsortedOutputArray= [];
var sortedOutputArray = [];
request('/Users/user/Desktop/data.txt', function (error, response, body) {
if (!error && response.statusCode == 200) {
body.split(commaDelimiter).forEach(function (item, index) {
arrayOfStrings.push(item);
array.push(parseInt(item));
console.log(firstArray[0]);
});
}
})
我面临的问题是试图找出我在这方面的错误所在。我想
console.log
数组中的元素,以验证它是否正确传递,但没有显示任何内容。有人能帮我找出问题所在吗?我不认为我需要状态码200,因为它是本地文件,但任何人都可以建议。我认为可能是问题的两件事是
您可以将其称为data.txt,而不是data.json(因为该文件包含一个json编码的字符串数组,但请确保删除了rogue last comma,否则它将不符合合法json),然后您可以从其文件位置将其输入:
var data = require("/Users/user/Desktop/data.json");
console.log(data[0]) // => abc1, abc2, 47872, happy
然后做任何符合逻辑的事情,比如
var data = require("...");
data.forEach(function(row) {
var terms = row.split(", ");
terms.forEach(function(term) {
console.log(term)
});
});
您应该使用
fs
模块从文件系统读取文件:它已经是一个数组,所以只需在stringRequest上调用JSON.parse()就可以了。本地文件不是HTTP。让我试试这个。感谢您的输入,路径名正确吗?i、 e.Users/user/Desktop/data.json-如果是位置upvoted,我会这样设置,但请确保删除数组中最后一个元素后的逗号。技术上不需要:这是一个合法数组,最后一个元素为空(即将在该元素上死亡,node.js不应该),它死在我的机器上:)主要是因为它是JSON而不是JS。