如何将条目添加到JSON数组/列表

时间:2019-04-04 06:38:09

标签: json python-3.x discord.py

我正在尝试建立一个Discord机器人,该机器人只允许JSON文件列表中的人使用它,我想知道如何将数据添加到JSON数组/列表中,但是我不确定如何继续前进而且我没有在其他地方寻找答案的运气。

这是JSON文件外观的示例:

{
    IDs: [
    "2359835092385",
    "4634637576835",
    "3454574836835"
    ]
}

现在,我要做的是在“ ID”中添加一个新ID,并且使其不会完全中断,我希望能够在JSON文件中也包含其他条目,以便我可以进行类似的操作可以为漫游器执行更多操作的人员的“ AdminIDs”。

是的。我知道我可以在公会/服务器中扮演这个角色,但是我希望能够在DM和公会/服务器中使用该机器人。

我想要/需要的是一个简短且易于操作的脚本,可以轻松地将其添加到新命令中,这样我就可以向机器人添加新人员,而不必手动打开和编辑JSON文件。

2 个答案:

答案 0 :(得分:0)

如果尚未通过json包解析数据,则可以执行以下操作来解析数据:

import json
json_code = { "..": ... }
parsed_json = json.dumps(json_code)
print(parsed_json['IDs'])

然后,您可以像使用普通列表一样简单地使用这些数据,并将数据附加到其上。

答案 1 :(得分:0)

所有键必须用字符串包围 因此,键是ID,而值是列表,列表的值就是其中的项目

import json

data={
    "IDs":[
    "2359835092385",
    "4634637576835",
    "3454574836835"
    ]
}

假设您的JSON数据来自文件,然后将其加载以便可以对其进行操作

raw_json_data=open('filename.json',encoding='utf-8')
j_data=json.load(raw_json_data) #Now j_data is basically the same as data except difference in name
print(j_data)
# >> {'IDs': ['2359835092385', '4634637576835', '3454574836835']}

要在列表ID中添加内容,请使用append方法

data['IDs'].append('adding something') #or j_data['IDs'].append("SOMEthing")
print(data)
# >> {'IDs': ['2359835092385', '4634637576835', '3454574836835', 'adding something']}

添加新密钥

data['Names']=['Jack','Nick','Alice','Nancy']
print(data)
# >> {'IDs': ['2359835092385', '4634637576835', '3454574836835', 'adding something'], 'Names': ['Jack', 'Nick', 'Alice', 'Nancy']}