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

如何向JSON文件的skills字典中添加新技能?

如何给JSON中的skills字典添加新技能

你不需要把字典转成列表再操作——字典本身支持直接添加键值对,之前的绕路操作完全没必要,而且很容易出错。下面是正确的操作方法(以Python为例,这是处理JSON最常用的工具):

  1. 读取JSON文件
    先把文件里的内容加载成Python字典:

    import json
    
    with open('data.json', 'r') as file:
        user_data = json.load(file)
    
  2. 添加新技能到skills字典
    直接通过键赋值或者update()方法添加,两种方式都可以:

    • 直接赋值(更直观):
      # 定义新技能的属性
      user_data['skills']['Cook'] = {
          "description": "Increase by using `/cook` -提升烹饪食物的品质,获得更高收益",
          "level": 1,
          "per": 0
      }
      
    • 使用update()方法(适合批量添加多个技能):
      new_skills = {
          "Cook": {
              "description": "Increase by using `/cook` -提升烹饪食物的品质,获得更高收益",
              "level": 1,
              "per": 0
          },
          "Hunter": {
              "description": "Increase by using `/hunt` -提高狩猎稀有猎物的概率",
              "level": 1,
              "per": 0
          }
      }
      user_data['skills'].update(new_skills)
      
  3. 把修改后的内容写回JSON文件
    最后要把更新后的字典重新写入文件,否则修改不会生效:

    with open('data.json', 'w') as file:
        json.dump(user_data, file, indent=4)  # indent=4保证JSON格式排版整齐
    

为什么你之前的方法无效?

把字典转成列表(比如list(user_data['skills'].items()))得到的是(技能名, 属性字典)的元组列表,即便你用append加了新元组再转回字典,也需要确保新元组的格式正确,而且最后必须把修改后的字典写回文件——你大概率是没完成写回这一步,或者转列表时的操作有误。但这种方法完全是舍近求远,直接操作字典才是最优解。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 18:33:08