What's the best way to parse a JSON response from the requests library?
Since you're using requests
, you should use the response's json
method.
import requestsresponse = requests.get(...)data = response.json()
You can use json.loads
:
import jsonimport requestsresponse = requests.get(...)json_data = json.loads(response.text)
This converts a given string into a dictionary which allows you to access your JSON data easily within your code.
Or you can use @Martijn's helpful suggestion, and the higher voted answer, response.json()
.
You can use the json response as dictionary directly:
import requestsres = requests.get('https://reqres.in/api/users?page=2')print(f'Total users: {res.json().get("total")}')
or you can hold the json content as dictionary:
json_res = res.json()
and from this json_res
dictionary variable, you can extract any value of your choice
json_res.get('total')json_res["total"]
Attentions Because this is a dictionary, you should keep your eye on the key spelling and the case, i.e. 'total' is not the same as 'Total'