用大括号将元素推入JSON数组

时间:2018-08-03 17:55:36

标签: javascript arrays json

我很难将push元素添加到位于外部位置的JSON文件中;这是我要实现的目标的背景故事:

我正在编程一个私有Discord机器人,目前正在研究它的消息系统部分。整个想法是,如果未完全授权用户将用户的消息删除,则该消息将被删除。该用户的消息和用户ID 将被登录到JSON文件中。事实是,如果将UserID手动添加到阵列中,我可以仅记录消息(使用push函数,我可以添加消息)。但是,如果我尝试向文件数组push添加一个UserID,它就好像没有push函数一样;我认为JSON也嵌套。我将不胜感激,谢谢!

JSON

{"users":[{}]}

我想将UserID放在方括号内的括号内

push到JSON的代码

function removeMessage(content, authorid) {
    if (!messagedata.users[0][authorid]) {
        messagedata.users[0].push(authorid);
    }
}

我正在使用:

  

TypeError:messagedata.users [0] .push不是函数

预期产量

{"users":[{"287423028147781654":["Hi"]}]}

数值是用户ID,而“ Hi”显然是消息

1 个答案:

答案 0 :(得分:0)

users[0]是一个对象,而不是数组(因此没有push方法)。看来您实际上是要向该对象添加一个键,因此请尝试以下操作:

messagedata.users[0][authorid] = ["Hi"];