【问题标题】:Can readFileSync from node.js fs library load an array from a text file?node.js fs 库中的 readFileSync 可以从文本文件中加载数组吗?
【发布时间】:2016-09-03 13:02:19
【问题描述】:

我的文本文件包含一个由两个对象组成的小数组(此处为简单起见),如 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!!

【问题讨论】:

  • 始终在标签中包含您使用的语言。
  • ...此外,像“array”和“fs”这样的标签通常没有用,因为它们不是特定于您的语言和库的——“fs”可以表示“文件系统”,例如例如,这并不意味着 node.js fs 库足够普遍,以至于有人可以在 StackOverflow 中搜索 fs 标记并获得有用的结果(这是此处标记的用途)。跨度>

标签: javascript node.js


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • @AttonRand - 由于您可能是这里的新手,如果这回答了您的问题,您可以通过单击答案左侧的绿色复选标记将其标记为最佳答案来向社区表明这一点.这也将为您在此处遵循正确的程序赢得一些声誉积分。
    猜你喜欢
    • 1970-01-01
    • 2013-06-19
    • 2013-05-15
    • 2014-01-07
    • 1970-01-01
    • 1970-01-01
    • 2020-03-05
    • 2020-11-25
    • 2019-11-23
    相关资源
    最近更新 更多