You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python向JSON字典中追加用户或命令?

解决JSON字典结构的用户/命令添加问题

一、报错原因

你用append()报错是因为data["submissions"]是字典(dict)类型,而append()是列表(list)独有的方法,字典没有这个属性。

二、当前结构下的添加方法

1. 追加新用户

直接给字典添加新的键值对即可,键为用户名,值为对应用户的命令字典:

# 假设已加载JSON数据到data变量
new_user = {
    "cmd1": {
        "cmd": "New command",
        "des": "New description"
    }
}
# 向submissions添加user3
data["submissions"]["user3"] = new_user

2. 给指定用户追加新命令

指定用户对应的也是字典,同样通过添加键值对的方式新增命令:

# 给user1添加cmd2
new_cmd = {
    "cmd": "exit",
    "des": "Quit the program"
}
data["submissions"]["user1"]["cmd2"] = new_cmd

三、是否要改成列表形式存储?

这取决于你的使用场景:

  • 如果不需要通过用户名快速定位用户(比如无按名查询需求、允许重复用户名),只是按顺序存储用户,改成列表更合适,结构示例:
{
    "submissions": [
        {
            "username": "user1",
            "commands": {
                "cmd1": {"cmd": "help", "des": "Command to get help"}
            }
        },
        {
            "username": "user2",
            "commands": {
                "cmd1": {"cmd": "hello", "des": "Greeting"}
            }
        }
    ]
}

这种结构下就可以用append()添加新用户:

new_user = {
    "username": "user3",
    "commands": {
        "cmd1": {"cmd": "New command", "des": "New description"}
    }
}
data["submissions"].append(new_user)
  • 如果需要频繁通过用户名快速查找用户数据,保持字典结构更高效,因为字典的键查找速度是O(1),远快于列表遍历查找。

内容的提问来源于stack exchange,提问作者jakki_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 18:46:04