Node.js 如何使用express、nodejs和Angular CLI创建put请求以更新本地json文件

Node.js 如何使用express、nodejs和Angular CLI创建put请求以更新本地json文件,node.js,angular,express,typescript,angular-cli,Node.js,Angular,Express,Typescript,Angular Cli,我试图通过单击按钮来更新本地JSON文件,以更新按钮的状态。目前,我能够获取JSON文件并读取所有按钮状态。下面我正在粘贴我的button_status.json文件 [ { "id": "0x11", "name": "cam1", "state": true }, { "id": "0x12", "name": "cam2", "state": true }, { "id": "0x13", "name": "cam3", "state": false }

我试图通过单击按钮来更新本地JSON文件,以更新按钮的状态。目前,我能够获取JSON文件并读取所有按钮状态。下面我正在粘贴我的button_status.json文件

[
{
  "id": "0x11",
  "name": "cam1",
  "state": true
},
{
  "id": "0x12",
  "name": "cam2",
  "state": true
},
{
  "id": "0x13",
  "name": "cam3",
  "state": false
},
{
  "id": "0x14",
  "name": "cam4",
  "state": false
},
{
  "id": "0x15",
  "name": "cam5",
  "state": false
},
{
  "id": "0x111",
  "name": "cam6",
  "state": false
}]
我正在使用express nodejs服务器读取button_status.json文件。下面我添加了我的快速获取功能

app.get('/getButtons', function (req, res) {
fs.readFile( __dirname + "/" + "button_status.json", 'utf8', function (err, data) {
   console.log( data );
   res.end( data );
});
});
调用get方法的角度服务代码

getButtonStatus() {
return this.http.get('http://localhost:3000/api/getButtons')
             .map(res => res.json())
             .concatMap(res => res)
             .filter((x:any) => x.state === true)
             .do(res=> console.log("res",res))
}
使用下面的代码,我将删除按钮状态为true的隐藏属性

this.buttonStatus = _mcxAppLayoutService.getButtonStatus()
.subscribe(value=>{
  $('#'+value.name).removeAttr('hidden');
});

现在,当任何人想要使用某个按钮单击事件进行更改时,我想将JSON文件中的按钮状态更改为true/false。如何创建put请求以更新每个按钮的状态。有人能帮我做这件事吗。提前感谢您的帮助。

检查。我想我能帮上忙you@ElmerDantas有没有可能在express中创建PUT请求来完成此任务?是的,有可能。很遗憾,我现在无法帮助您解决此问题。我会让一些链接,可能会帮助你除了一个我已经张贴:1-。2 - . “希望能有所帮助。”埃尔默丹塔斯感谢您的快速回复。我真的被任务缠住了。您发送给我的链接是来自angular 2的部分。这部分已经完成了。我想用express在nodejs中处理这个put请求。如果有人知道并准备好帮助我,这将是一个巨大的帮助。第一个链接是如何使用express创建一个路由来处理你的
放置
。你需要做一些类似的事情:将你要更改的对象作为参数传递…在
应用程序中。放置
,你将阅读
按钮\u status.json
(就像你已经做的那样)并使用
var obj=JSON.parse(data)将
数据
转换为JSON
这样你就有了可以迭代的
obj
数组,找到与作为参数传递的
id
相同的对象,更新它,并将
obj
写入使用
fs.writeFile
读取的文件中……你明白了吗?