当前位置: 首页 > 知识库问答 >
问题:

将node.js对象设置为从文件读取的数据

陈浩
2023-03-14

我想从文件中读取数据并将其添加到存储在内存中的对象中。text.txt文件中的数据大致如下所示:

One: {title: 'One' ,
contributor: 'Fred',
summary: 'blah' ,
comments: 'words' },

Two: {title: 'Two' ,
contributor: 'Chris' ,
summary: 'blah blah i'm a blah' ,
comments: '' },

我试图将其设置为一个空对象,如下所示:

var fs = require('fs');
var text = Object.create(null);
fs.readFile("./public/text.txt", "utf-8", function(error, data) {
  text = { data };
});

但是,当我将text记录到控制台时,它显示如下:

{ data: 'One: {title: \'One\' ,\ncontributor: \'Fred\',\nsummary: \'blah\' ,\ncomments: \'words\' },\n    \nTwo: {title: \'Two\' ,\ncontributor: \'Chris\' ,\nsummary: \'blah blah i\'m a blah\' ,\ncomments: \'\' },\n\n' }
{
  One: {title: 'One' ,
  contributor: 'Fred',
  summary: 'blah' ,
  comments: 'words' },

  Two: {title: 'Two' ,
  contributor: 'Chris' ,
  summary: 'blah blah i'm a blah' ,
  comments: '' },
}

共有1个答案

祁宝
2023-03-14

如果您使用的是较新版本的Node,那么您就支持ES6。

// So your code 
`text = { data }` 

// is actually a shortcut for 
`text = { data: data }`

这就是为什么您最终会得到一个具有关键数据的对象,并且该值是文件中找到的字符串版本。相反,只需对数据参数(它是一个字符串)使用json.parse就可以将其转换为一个对象,您可以将其存储在文本中。像这样

var fs = require('fs');
var text = Object.create(null);
fs.readFile("./public/text.txt", "utf-8", function(error, data) {
  text = JSON.parse(data);
});

您还需要使文件成为有效的JSON。这意味着键和字符串值一样需要在其周围加上引号。

{
  "One": {
    "title": "One" ,
    "contributor": "Fred",
    "summary": "blah" ,
    "comments": "words"
  },

  "Two": {
    "title": "Two" ,
    "contributor": "Chris" ,
    "summary": "blah blah i'm a blah" ,
    "comments": ""
  }
}
 类似资料:
  • 在我的main(一个名为VehicleDriverClass的seperate类)中,我试图使用I/O将车辆数据写入文件,并从文件中读取车辆数据。我可以写一个文件罚款。我正在使用记事本和一个。txt文件来读取。我遇到的问题是,当从文件中读取时,如何终止一行的结尾。这里是Vehicle类的构造函数,所以您知道Paramaters。 这就是我目前的输入法(不试图创建oject,只是从文件中读取)。传递

  • 问题内容: 我正在寻找一个JSON分析器,该分析器可以让我从大型JSON文件(大小为几百MB)中遍历JSON对象。我从Json.NET尝试了JsonTextReader,如下所示: 但是它在令牌之后返回令牌。 如果我需要整个对象而不是令牌,有没有更简单的方法? 问题答案: 假设您有一个与此类似的json数组: 我将为对象类型声明一个类 现在,反序列化部分 还有一个伪JsonConverter类来拦

  • 本文向大家介绍Java将对象保存到文件中/从文件中读取对象的方法,包括了Java将对象保存到文件中/从文件中读取对象的方法的使用技巧和注意事项,需要的朋友参考一下 1.保存对象到文件中 Java语言只能将实现了Serializable接口的类的对象保存到文件中,利用如下方法即可: 参数obj一定要实现Serializable接口,否则会抛出java.io.NotSerializableExcept

  • 我需要一些帮助:我正在做一个在Java的飞行花名册模拟。名册将容纳25名乘客,其中22名来自文本文件(passengerlist.txt)。对于每个乘客,有3个必需的数据点;姓名、座位等级和座位号和2个可选数据点数常旅客号码和常旅客点数。每个乘客都在自己的线路上,每个数据点都用逗号隔开。例如: 我有这个类,到目前为止还有构造函数: 我需要做的是从文本文件中读取每一行并创建数组,即使第一个look行

  • 问题内容: 我需要一些帮助:我正在用Java进行超市仿真,但是有一个问题,我有一个文本文件(Stock.txt),例如,我在上面有所有的超市库存: 0-面包巧克力蛋糕-$ 12.5-250 1-Meat-Premium Steak- $ 2.6-120 2海鲜金枪鱼-1.2-14美元 … 第一个数字是产品的“ id”,第二个是产品所属的部门,第三个是产品名称,第二个是价格,最后一个数字是库存的产品

  • 问题内容: 我对在Node.js中读取文件感到很困惑。 文件与尝试打开并读取文件的文件位于同一目录中。 但是,在控制台中,我得到: {[错误:ENOENT,打开’./start.html’]错误号:34,代码:’ENOENT’,路径:’./ start.html’} 有任何想法吗? 问题答案: 使用; 多亏了dc5。