What's the best way to parse a JSON response from the requests library? What's the best way to parse a JSON response from the requests library? python python

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()

It autodetects which decoder to use.


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'