【发布时间】:2021-01-09 12:18:58
【问题描述】:
是的,所以我正试图将我的头脑围绕编辑(附加数据)到 JSON 文件。 文件(users.json)如下所示:
{
"users": {
"id": "0123456789",
"name": "GeirAndersen"
}
}
现在我想将用户添加到此文件,并保留格式,这是我似乎无法着手的地方。我现在已经花了很多时间尝试、阅读、再尝试……但无论如何,我都无法得到我想要的结果。
在我的 .js 文件中,我从 json 文件中获取数据,如下所示:
const fs = require('fs').promises;
let data = await fs.readFile('./test.json', 'utf-8');
let users = JSON.parse(data);
console.log(JSON.stringify(users.users, null, 2));
此控制台日志显示了应有的内容:
{
"id": "0123456789",
"name": "GeirAndersen"
}
为了测试,我直接在代码中定义了一个新用户,像这样:
let newUser = {
"id": '852852852',
"name": 'GeirTrippleAlt'
};
console.log(JSON.stringify(newUser, null, 2));
此控制台日志还显示如下数据:
{
"id": "852852852",
"name": "GeirTrippleAlt"
}
到目前为止一切都很好,但是现在我想将最后一个加入 users.users ,我只是不知道如何正确地做到这一点。我已经尝试了很多版本和迭代,我都记不住了。 最后尝试:
users.users += newUser;
users.users = JSON.parse(JSON.stringify(users.users, null, 2));
console.log(JSON.parse(JSON.stringify(users.users, null, 2)));
console.log(users.users);
这两个控制台都记录相同的内容:
[object Object][object Object]
我想要实现的是:我想最终得到:
{
"users": {
"id": "0123456789",
"name": "GeirAndersen"
},
{
"id": "852852852",
"name": "GeirTrippleAlt"
}
}
当我走到这一步时,我将写回 .json 文件,但这部分不是问题。
【问题讨论】:
标签: javascript node.js json discord.js