我通过jQuery post
请求从我的前端获得某个值,并将其发送到我的NodeJS
后端。在那里,我将我发送的元素 ID 与从json
文件加载的 ID 相匹配,以尝试编辑其中的给定字段json文件。
我遇到的问题是,不是编辑json数组中的特定元素,而是使用NodeJS
脚本覆盖整个json文件。
如何编辑json数组中的元素而不是覆盖整个文件?
NodeJS代码:
app.post('/public', isLoggedIn,function(req, res, next){
var map_value = req.body.id;
fs.readFile('somelocation/myfile.json', 'utf8', function(err, data){
var info_object = JSON.parse(data); // parsing the loaded json oboject
for(var json_value in info_object){
var id = info_object[json_value].id;
var tag = info_object[json_value].tag;
for (var array_element in info_object){
var element = info_object[array_element];
if (id == element.id && map_value == id ){
var info_body = res.send(element);
}else{
console.log("not working");
}
}
}
app.post('/sendjson', isLoggedIn, function(req,res, next){
var values = req.body;
var submitFormValues = JSON.stringify(values, null, 2);
fs.writeFile('somelocation/myfile.json', submitFormValues, function(err){
if(err) {
return console.log(err);
}
console.log("The file was saved!");
});
});
});
});
我的Json文件的结构如何:
[{
"id": "Apple",
"tag": "EP",
"up": "Low ",
"down": "41",
"ins": "1",
"ix": "35"
},{
"id": "Microsoft",
"tag": "AX",
"up": "High ",
"down": "4341",
"ins": "12",
"ix": "88"
}]
为了澄清,我有两个帖子请求,因为我将一个元素与json文件中的 ID 匹配,然后将其加载到html form
中。从那html form
开始,我尝试编辑json
文件。