我有一个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
内,但实际上它们处于同一级别。