【问题标题】:How to add entries to a JSON array/list如何将条目添加到 JSON 数组/列表
【发布时间】:2019-08-25 19:39:10
【问题描述】:

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

这是 JSON 文件外观的示例:

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

现在,我要做的是向“ID”添加一个新 ID,而不是让它完全损坏,我希望能够在 JSON 文件中包含其他条目,这样我就可以制作类似的东西可以对机器人做更多事情的人的“AdminID”。

是的。我知道我可以在公会/服务器中担任这些角色,但我希望能够在 DM 以及公会/服务器上使用该机器人。

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      所有键都必须用字符串包围 在这种情况下,键是 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']}
      

      【讨论】:

        猜你喜欢
        • 2021-06-19
        • 2015-06-12
        • 2022-06-29
        • 2015-01-02
        • 1970-01-01
        • 2018-05-23
        • 1970-01-01
        • 2011-09-01
        • 2021-02-25
        相关资源
        最近更新 更多