无法将对象追加到嵌套列表



我有一个JSON对象看起来像这样:

[
  {
    "modulename": "module1",
    "functions": [
      {
        "functionname": "get",
        "function": "function1"
      },
      {
        "functionname": "delete",
        "function": "function2"
      }
    ]
  }
]

我的代码是这样的:

modules = []
for functionname in function_dictionary:
    modulename = function_dictionary[function][1]
    func = function_dictionary[function][0]

    module_func = {"modulename" : modulename, "functions" : [{"functionname" : functionname, "function" : func}]}
    found = False
    for module in modules:
        if module["modulename"] == modulename:
            module["modulename"]["functions"].append({"functionname" : functionname, "function" : func}) #error here
            found = True
            break
    if not found:
        modules.append(module_func)

但是我一直得到string indices must be integers, not str错误。

我不知道为什么我收到这个。

我将其理解为"将对象{"functionname" : function, "function" : func}附加到位于module["modulename"]["functions"]的列表

任何建议都是感激的!

我真傻,是我打错了:

module["modulename"]["functions"].append({"functionname" : functionname, "function" : func}) #error here

应该是:

module["functions"].append({"functionname" : function, "function" : func})

我误读了我自己的对象,虽然functions列表嵌套在modulename内,但实际上它们处于同一级别。

相关内容

  • 没有找到相关文章

最新更新