我的输入文件xyz是:
{
"one": "a",
"three": "b",
"eight": {
"twelve": "c",
"twenty": "d"
}
}
我的节目是:
import json
my_data = json.loads(open("xyz").read())
print my_data
def get_keys(dl, keys_list):
if isinstance(dl, dict):
keys_list += dl.keys()
map(lambda x: get_keys(x, keys_list), dl.values())
elif isinstance(dl, list):
map(lambda x: get_keys(x, keys_list), dl)
keys_list = []
get_keys(my_data, keys_list)
print keys_list
我得到的输出是:
{u'eight': {u'twelve': u'c', u'twenty': u'd'}, u'three': u'b', u'one': u'a'}
[u'eight', u'three', u'one', u'twelve', u'twenty']
我想要的输出是:
keys_list = [eight, three, one, twelve, twenty]
我必须在程序中进一步使用这个keys_list,所以我只想用这种格式
请仔细研究。
答案 0 :(得分:1)
我必须在程序中进一步使用这个keys_list,所以我只想用这种格式
你究竟会用它做什么?如果您有字符串或unicode字符串通常无关紧要。
无论如何,您可以将这些unicode转换为字符串:
keys_list = map(str, keys_list)
# or keys_list = [str(key) for key in keys_list]