Python 将JSON字典中的int字符串键转换为int

Python 将JSON字典中的int字符串键转换为int,python,json,Python,Json,我想在对字典进行JSON反序列化后,将以下字典中的int字符串键转换为int。我尝试指定json.loads选项parse_int,但这不起作用 >>> d = {'1' : 2, '2':3, "a" : 3} >>> json.loads(json.dumps(d), parse_int = int) {'2': 3, 'a': 3, '1': 2} 所需的输出是{1:2,2:3,'a':3}这个怎么样: import json d = {'1' : 2

我想在对字典进行JSON反序列化后,将以下字典中的int字符串键转换为int。我尝试指定json.loads选项parse_int,但这不起作用

>>> d = {'1' : 2, '2':3, "a" : 3}
>>> json.loads(json.dumps(d), parse_int = int)
{'2': 3, 'a': 3, '1': 2}
所需的输出是{1:2,2:3,'a':3}

这个怎么样:

import json
d = {'1' : 2, '2':3, "a" : 3}
j = json.loads(json.dumps(d))
output_dict = {}
for k, v in j.items():
    try:
        output_dict[int(k)] = v
    except ValueError:
        output_dict[k] = v

print output_dict
结果: {u'a':3,1:2,2:3}

使用for…in循环遍历对象,并创建一个新对象。对键使用parseInt,并将返回的值用作新对象中的键。parse_int不适用于您的原因是,这些键实际上是字符串。parse_int用于解析JSON整数,而不是看起来像整数的JSON字符串。解决方案中不需要使用parse_int_____