Node.js 如何更改json文件中的对象属性
我有一个巨大的JSON文件,名为data.JSON,其中填充了具有相同属性的对象。 对象的示例如下所示:Node.js 如何更改json文件中的对象属性,node.js,json,fs,Node.js,Json,Fs,我有一个巨大的JSON文件,名为data.JSON,其中填充了具有相同属性的对象。 对象的示例如下所示: { "directory": "directory_here", "posted": false, "date": null } 在我的脚本中,如果posted为false,我将使用fs.readFile读取data.json文件;如果posted为false,则运行一些函数,然
{
"directory": "directory_here",
"posted": false,
"date": null
}
在我的脚本中,如果posted为false,我将使用fs.readFile读取data.json文件;如果posted为false,则运行一些函数,然后将posted更改为true,并将date从null更改为当前日期。因此,我需要更改data.json文件中的属性。我该怎么做呢?这里
arr
是对象数组
arr.forEach((obj)=>{
if(!obj.posted) obj.posted = true;
if(!obj.date) obj.date = new Date()
})
除了少数病理情况外,您不能直接编辑JSON文本文件的内容。相反,您需要(a)读取修改写入数据,或者(b)切换到允许就地编辑的不同存储格式 如果您(必须)坚持使用JSON,那么您有两个主要选择:
一个可能的替代方案(我怀疑在您的情况下不合适)是切换到允许就地编辑的存储格式。这可能是一个固定记录长度记录的文件,或类似SQLite数据库的文件。所有这些对象是否都在数组中?是的,它们在一个数组中,我可以直接在json文件中编辑对象吗?可以,但为此,您必须使用文件系统读取文件并执行其他操作。