我使用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,如果需要的话,可以对它进行子类化。