我正在尝试建立一个Discord机器人,该机器人只允许JSON文件列表中的人使用它,我想知道如何将数据添加到JSON数组/列表中,但是我不确定如何继续前进而且我没有在其他地方寻找答案的运气。
这是JSON文件外观的示例:
{
IDs: [
"2359835092385",
"4634637576835",
"3454574836835"
]
}
现在,我要做的是在“ ID”中添加一个新ID,并且使其不会完全中断,我希望能够在JSON文件中也包含其他条目,以便我可以进行类似的操作可以为漫游器执行更多操作的人员的“ AdminIDs”。
是的。我知道我可以在公会/服务器中扮演这个角色,但是我希望能够在DM和公会/服务器中使用该机器人。
我想要/需要的是一个简短且易于操作的脚本,可以轻松地将其添加到新命令中,这样我就可以向机器人添加新人员,而不必手动打开和编辑JSON文件。
答案 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']}