javascript - 使用 node.js 在 JSON 文件中添加嵌套数组
问题描述
我对 Javascript 和 nodejs 还很陌生。我想要一个 JSON 文件(results.json),其格式类似于:
开始于:
{
"name":"John",
"task":[]
}
然后最终变成这样的嵌套数组:
{
"name":"John",
"task":[ ["task1","task2"], ["task3", "task4"] ]
}
每次完成某些事情时(在我的情况下,当按下按钮提交表单时),我想向“任务”数组推送一个新的任务列表(总是大小为 2)。
例如,在另一个“动作”之后,JSON 文件将如下所示:
{
"name":"John",
"task":[ ["task1","task2"], ["task3", "task4"] , ["task5", "task6"] ]
}
注意:"task(1,2,...,6) 只是作为示例,这些将是与表单提交对应的其他字符串。
这是我目前在服务器端文件中的内容:
var fs = require('fs')
app.post("/addtask", function(req, res) {
fs.readFile('results.json', function (err, data) {
var json = JSON.parse(data)
var newTask1 = req.body.newtask1
var newTask2 = req.body.newtask2
//WHAT DO I PUT HERE
fs.writeFile("results.json", JSON.stringify(json))
})
});
如果我的语法错误或者我对 JSON 文件如何工作的想法有误,请纠正我。
解决方案
只需将数据作为数组推送
var resObj= {
"name":"John",
"task":[]
}
var newTask1 = "task1";
var newTask2 = "task2";
resObj.task.push([newTask1,newTask2]);
console.log(resObj);
推荐阅读
- azure-quantum - 无法创建 Azure Quantum 工作区
- javascript - Promise 中的箭头函数不适用于分号 (Javascript)
- r - 如何在 csv 日期时间中找到一个间隔
- spring - 单击按钮时将参数从 html/thymeleaf 传递到弹簧控制器
- python-3.x - 如何使用python编写代码以将列表中的列表与特定逻辑合并
- amazon-web-services - 通过 mac cli 以编程方式访问 AWS 帐户
- c# - 如何使用对象列表将剃刀视图绑定到模型?
- python - PyTorch - 将 CIFAR 数据集转换为“TensorDataset”
- mysql - 财务订单簿的MYSQL查询分组依据和累积总和
- flutter - SocketException:操作系统错误:连接超时,errno = 110,地址 = 10.0.2.2,端口 = 52092