我试图使用JSON
作为我的应用程序的某种数据库。所以用户添加一个输入并将其写入JSON文件,然后当我需要这些信息时,我可以通过JSON进行循环。 我使用'fs'
写我对象的内部文件中的JSON格式:根据用户的输入制作JSON文件
fs.appendFile('log.json', JSON.stringify(customer) + '\n' , function(err) {
if (err) {
return console.log(err);
}
console.log('saved in log.json');
});
所以我log.json
看起来是这样的:
{"name":"John","email":"[email protected]"}
{"name":"Peter","email":"[email protected]"}
这仍然可以,如果我读每一行,并用将其转换为对象,但显然这不是一个有效的JSON
文件,它会更好,如果我能有这样的输出:
{
{"name":"John","email":"[email protected]"},
{"name":"Peter","email":"[email protected]"}
}
或电子邮件VEN更好:
[
{"name":"John","email":"[email protected]"},
{"name":"Peter","email":"[email protected]"}
]
因此从技术上讲所有我想要做的就是保持{}
和追加我的花括号内的文字。请注意,我无法将所有输入存储在数组/对象中,然后将其写入我的日志文件中。每次用户输入新信息时,我想要一个无外部模块的方法来更新我的log.json
文件。
也许解析文件,你会想看看mongodb以及node.js如何执行它? –
你考虑过SQLite吗?它的工作原理与将简单文本文件保存为数据库的相同,并且在运行时速度会更快,而且执行速度更快。 –
你能解释一下最后一段吗?我会采取的方法是每次读取输入文件,将其解析为JSON,将条目推入返回的数组,然后将整个文件写回JSON。很显然,如果文件变大,这不会成为一个好的解决方案。 – GregL