我使用urllib2获取url的html,然后使用regex从中提取所需的json。我想得到通常的“dictionary of dictionaries”python对象和以下两个工作:

my_json #a correctly formatted json string
json_dict1 = json.JSONDecoder().decode(my_json)
json_dict2 = json.loads(my_json)

有什么区别,在什么情况下哪个更好(除了我的,特别是那个情况)?

最佳答案

json.loads()实际上创建了一个json.JSONDecoder()实例并对其调用decode。因此,你的第一行和第二行完全一样。请参见json.loads() source code
该模块为您提供了灵活性;一个简单的函数API或一个完整的OO API,如果需要的话,可以对它进行子类化。

08-27 18:28