【发布时间】:2013-07-30 16:55:34
【问题描述】:
我正在寻找一个函数,它可以在 JSON 格式的 python 任意嵌套的 dict/array 上运行,并返回一个字符串列表,该列表键入它包含的所有变量名,深度无限。所以,如果对象是......
x = {
'a': 'meow',
'b': {
'c': 'asd'
},
'd': [
{
"e": "stuff",
"f": 1
},
{
"e": "more stuff",
"f": 2
}
]
}
mylist = f(x) 会返回...
>>> mylist
['a', 'b', 'b.c', 'd[0].e', 'd[0].f', 'd[1].e', 'd[1].f']
【问题讨论】:
-
d应该在列表中吗?如果没有,b真的应该在那里吗? -
你的顶级对象总是一个字典吗?如果没有,你会返回什么,例如
["foo", "bar"]? (['[0]', '[1]']大概不会是对的)。 -
好点,@Zero。是的,我总是可以假设顶层是一个字典。
标签: python json dictionary nested-lists