Python:从json生成的键列表中删除u

时间:2015-12-17 15:01:03

标签: python json

我的输入文件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,所以我只想用这种格式

请仔细研究。

1 个答案:

答案 0 :(得分:1)

  

我必须在程序中进一步使用这个keys_list,所以我只想用这种格式

你究竟会用它做什么?如果您有字符串或unicode字符串通常无关紧要。

无论如何,您可以将这些unicode转换为字符串:

keys_list = map(str, keys_list)
# or keys_list = [str(key) for key in keys_list]