json.JSONDecoder()。decode()和json.loads()之间的区别是什么?

时间:2015-02-04 17:02:47

标签: python json

我正在使用urllib2来获取网址的html,然后使用正则表达式从中提取我需要的JSON。我想得到通常的字典词典" Python对象以及以下两项工作:

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

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

1 个答案:

答案 0 :(得分:4)

json.loads()基本上会创建一个json.JSONDecoder()实例,并在其上调用decode。因此,您的第一行与第二行完全相同。请参阅json.loads() source code

该模块为您提供灵活性;一个简单的函数API或完整的OO API,您可以根据需要进行子类化。