将数据添加到现有的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":{}}}