gpt4 book ai didi

javascript - 将数据添加到现有的 json 对象

转载 作者:太空宇宙 更新时间:2023-11-04 00:50:13 24 4
gpt4 key购买 nike

所以我想要实现的是创建一个 json 平面文件来存储用户信息,但我遇到的问题是我不知道如何添加新的空嵌套对象,然后保存 json 文件并重新加载它。

我的 *json* 文件中的内容是这样的。

{
"users" : {
"test" : {

},
"test1" : {

}
}
}

我正在尝试添加尽可能多的新对象。例如。

{
"users" : {
"test" : {

},
"test1" : {

},
"test2" : {

},
"test3" : {

}
}
}

我的服务器端 Javascript

    json.users.push = username;
fs.writeFile("./storage.json", JSON.stringify(json, null, 4) , 'utf-8');
delete require.cache[require.resolve('./storage.json')];
json = require("./storage.json");

使用此代码,它不会写入文件,因此当需求完成时,我最终会得到相同的文件,并且当我 console.log 时,我的 json 对象最终会像这样

{                                                                                                                                                    
"users": {
"test": {},
"test1": {},
"push": "test2"
}
}

请不要推荐一些外部模块来解决如此简单的问题。另外,如果有人可以向我指出一份深入的 json 文档,该文档直接切中我想要做的事情,我将不胜感激

最佳答案

使用[]访问对象上的动态键

json.users[username] = {a: 1, b: 2}

请小心命名您的变量,因为您使用的 json 方式不是 JSON。 JSON 是一个字符串,而不是带有键的对象。

请参阅下面的演示以了解区别

var json = '{"users":{"test1":{},"test2":{}}}';
var obj = JSON.parse(json);
var newuser = 'test3';
obj.users[newuser] = {};
console.log(JSON.stringify(obj));
//=> {"users":{"test1":{},"test2":{},"test3":{}}}

关于javascript - 将数据添加到现有的 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32940713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com