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

所以我想要实现的是创build一个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"); 

有了这个代码,它不会写入文件,所以当需求完成时,我结束了相同的文件和我的JSON对象结束了,当我console.log它

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

请不要推荐一些外部模块来解决这个问题。 此外,如果任何人可以指向我深入的JSON文档,直接与我试图做到这一点,将不胜感激

使用[]访问对象上的dynamic键

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

要小心的命名你的variables,因为你使用的方式不是JSON。 JSON是一个string,而不是一个带有键的对象。

看下面的演示区分

 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":{}}}