json - 如何将条目添加到 JSON 数组/列表
问题描述
我正在尝试设置一个 Discord 机器人,它只允许 JSON 文件中列表中的人使用它,我想知道如何将数据添加到 JSON 数组/列表,但我不确定如何继续前进,我有没有真正的运气在其他地方寻找答案。
这是 JSON 文件外观的示例:
{
IDs: [
"2359835092385",
"4634637576835",
"3454574836835"
]
}
现在,我要做的是向“ID”添加一个新 ID,而不是让它完全中断,我希望能够在 JSON 文件中包含其他条目,这样我就可以制作类似“AdminIDs”的东西对于可以对机器人做更多事情的人。
是的。我知道我可以在公会/服务器中担任这些角色,但我希望能够在 DM 以及公会/服务器上使用该机器人。
我想要/需要的是一个简短且易于操作的脚本,我可以轻松地将其放入新命令中,这样我就可以将新人添加到机器人中,而无需手动打开和编辑 JSON 文件。
解决方案
所有键都必须被一个字符串包围在这种情况下,键是 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']}
推荐阅读
- mysql - 关于 mysql 的混淆,例如搜索和 = 搜索
- vue.js - vue.js如何组织前端数据(如产品信息)
- angular -
使 html 内容在 Angular 中消失 - javascript - 在加载实际的 html 文件之前加载另一个 html 文件作为弹出窗口
- javascript - 从restapi调用数据并在ui中解析成表
- php - 在 Api 后面构建 Web 应用程序功能
- apache-spark - 在 SparkStreaming 中停止 DirectStream 后如何保存数据以供以后处理?
- elasticsearch - 在 ElasticSearch 6 中使用带有过滤器的嵌套对象进行聚合
- javascript - 如何更改每个自定义范围步骤上的图标颜色
- django - ModelSerializer:包含模型的所有字段和所有属性