首页 > 解决方案 > 如何从节点编辑 JSON 文件中的数组?

问题描述

我有一个包含对象数组的 JSON 文件,如下所示:

[
  { "id": 1, "name": "JavaScript Begginer", "duration": "10 Hours" },
  { "id": 2, "name": "JavaScript Intermediate", "duration": "15 Hours" },
  { "id": 3, "name": "JavaScript Advanced", "duration": "20 Hours" }
]

我希望使用 Node 向它添加一个新对象,这可以通过文件系统模块来完成吗?

这是我想要进行更改的地方:

 app.post("/api/courses", (req, res) => {
  const course = {
    id: courses.length + 1,
    name: req.body.name,
  };
  res.send(course);

  courses.json.push(course); //Something like this

});

我确实尝试了 fs.appendFile 但它返回了这个:

[
  { "id": 1, "name": "JavaScript Begginer", "duration": "10 Hours" },
  { "id": 2, "name": "JavaScript Intermediate", "duration": "15 Hours" },
  { "id": 3, "name": "JavaScript Advanced", "duration": "20 Hours" }
]
[object Object]

标签: node.jsjsonexpressfs

解决方案


查看 lowdb ...它是一个基于 fs 的包装器,用于将 json 文件用作您的持久存储方法:

https://github.com/typicode/lowdb


推荐阅读