我有一个json,它只不过是一个无序的转储文件,它由dict、list和unicode值组成,嵌套深度从1到10不等。下面是一个粗略简化的例子:
{'name': 'TheDude',
'age': '19',
'hobbies': {
'love': 'eating',
'hate': 'reading',
'like': [
{'outdoor': {
'teamsport': 'soccer',
}
}
]
}
}
我想要以下输出(基于上述内容):
[name, age, hobbies_love, hobbies_hate, hobbies_like_outdoor_teamsport]
我尝试了以下代码:
def printinoice(dictionary,arr):
for k, v in dictionary.iteritems():
arr.append(k)
if isinstance(v, dict):
for result in printinoice(v,arr):
arr.append(result)
elif isinstance(v, list):
for d in v:
for result in printinoice(d,arr):
arr.append(result)
return arr
基于this但到目前为止没有运气。有人对如何使它工作有好主意吗?你知道吗
以下递归函数将起作用:
最简单的方法是不为函数参数假定给定的类型,这样就可以在递归中传递任何嵌套的内容(即
list
元素和dict
值)。你知道吗相关问题 更多 >
编程相关推荐