编辑一个json文件,而不是用NodeJs覆盖它

时间:2018-03-05 01:44:50

标签: javascript json node.js

我通过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文件。

0 个答案:

没有答案