Javascript 如果json文件已经获得特定数据,如何签入NodeJS
我想用NodeJS做一个CRUD操作。但我不知道如何检查JSON文件是否已经获得了特定的部分,然后只更新所需的对象,而不覆盖其他数据,或者在没有记录的情况下添加新数据 这就是我到目前为止所做的(现在插入操作覆盖了整个文件,只留下插入的数据): JSON:Javascript 如果json文件已经获得特定数据,如何签入NodeJS,javascript,json,node.js,crud,Javascript,Json,Node.js,Crud,我想用NodeJS做一个CRUD操作。但我不知道如何检查JSON文件是否已经获得了特定的部分,然后只更新所需的对象,而不覆盖其他数据,或者在没有记录的情况下添加新数据 这就是我到目前为止所做的(现在插入操作覆盖了整个文件,只留下插入的数据): JSON: JSON: { "id": 1, "name": "Bill", }, { "id": 2, "name": "Steve", }, 代码: var operation = POST.operation;
JSON:
{
"id": 1,
"name": "Bill",
},
{
"id": 2,
"name": "Steve",
},
代码:
var operation = POST.operation; // POST request comes with operation = update/insert/delete
if (operation == 'insert') {
fs.readFile("data.json", "utf8", function (err) {
var updateData = {
id: POST.id,
name: POST.name,
}
var newUser = JSON.stringify(updateData);
fs.writeFile("data.json", newUsers, "utf8");
console.log(err);
})
}
else if (operation == 'update') {
fs.readFile("data.json", "utf8", function (err) {
})
}
else if (operation == 'delete') {
fs.readFile("data.json", "utf8", function (err) {
})
}
else
console.log("Operation is not supported");
我发现的最多的例子是数据库和Express.js。所以他们帮不了多少忙
抱歉,我是新手。首先,这不是有效的JSON(除非这只是文件的一部分)。您需要将整个列表包装到一个数组中,使其成为有效的JSON(您可以检查JSON是否有效) 如果您使用这样的结构:
[
{
"id": 1,
"name": "Bill",
},
{
"id": 2,
"name": "Steve",
},
]
我认为检查ID是否已经存在的最简单方法是将JSON作为数组读入,并检查ID是否已经分配。大概是这样的:
var json = require('/path/to/data.json'); // Your object array
// In the if (operation == 'insert') block
var hadId = json.some(function (obj) {
return obj.id === POST.ID;
});
if (hasId) {
// Do something with duplicate
}
json.push({
id: POST.id,
name: POST.name
});
// Write the whole JSON array back to file
更多关于
因此,基本上您将把整个JSON文件保存在内存中(在JSON
数组中),当您对数组进行更改时,您将整个更新的列表写回文件
如果这个数组变得非常大,您可能会遇到问题,但在这一点上,我建议您考虑使用数据库。(尽管它不是世界上最大的数据库)在播放和实验时,安装和集成JavaScript都相当容易
我希望这有帮助
祝您好运检查数据在json文件中是否有密钥及其唯一性,如果没有,则删除日期,如果是,则将其添加到文件中谢谢您的时间和帮助:)没问题!谢谢接受:)。。希望它确实有用,从一开始就有点难学。很高兴有像stack这样的网站!