根据密钥名称更新JSON文件值

我得到了一个以下的ejs表单片段:这个表单显示了json文件中的数据。

<form method="post" action="/save" id="form_Update"> <div class="modal-body"> <table width="900px;" height="80px;"> <% for(var i=0; i < myKeyList.length; i++) { %> <tr> <td style="width: 200px"><b><%= myKeyList[i] %> :: </b></td> <td style="height: 10px" ></td> <td> <b><input type="text" name="<%=myKeyList[i]%>" id="jsonValue" class="form-control" value="<%= mykeyValues[i]%>" style="width: 400px"></b> </td> </tr> <% } %> </table> </div> <div class="modal-footer"> <button type="submit" class="btn btn-primary" id="btnSubmit">Save</button> </div> </form> 

我想要做的是,当我点击保存button,我想根据我将input在texbox上的新值更新json文件键名称。 请记住,json文件有这样的另一个数据:

 { "data1":[{ "error": "'I am an error!'", "url": "'localhost'" }], "data2": [{ "vm": "value" }], "data3": [{ "ignore": "'ignoreme'" }] } 

例如,我想更新“vm”键值的值为value1,所以它应该是“vm”:“value1”,但仍然有其他的数据。

我试着做这个更新的价值:

 fs.writeFile('./data1.json', JSON.stringify(newKeyValueHere, null, 4)); 

但是这只是创build一个新的文件,而不是更新我得到的文件。