我正在使用urllib2
来获取一个URL的HTML内容,然后使用正则表达式从中提取所需的JSON。我希望获得通常的“字典套字典”Python对象,并且以下两种方法都可以:
my_json #a correctly formatted json string
json_dict1 = json.JSONDecoder().decode(my_json)
json_dict2 = json.loads(my_json)
什么是它们的区别,除了我的情况外,在什么情况下哪个更好?
我正在使用urllib2
来获取一个URL的HTML内容,然后使用正则表达式从中提取所需的JSON。我希望获得通常的“字典套字典”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()
源代码。