Are you finding a way to fix the error “The JSON object must be str, bytes or bytearray not response”? Let’s follow this article. We will help you to fix it.
The cause of this error
The main reason for this error is when we call the API to get information from the website, we use the loads()
method to load the JSON manually so it will show you an error.
Example:
import requests import json # Request to get api from website with status = Dead and name = Adjudicator Rick get = requests.get('https://rickandmortyapi.com/api/character?status=Dead&name=Adjudicator%20Rick') data = json.loads(get) # Here is the cause of this error print(data)
Request to call API to get info of user to have status is Dead, and the name is Adjudicator Rick. This is the cause of the error because the return value of getting has a json()
method, so there is no need to load the JSON manually.
Output:
Traceback (most recent call last):
File "<string>", line 7, in <module>
File "/usr/lib/python3.8/json/__init__.py", line 341, in loads
raise TypeError(f'the JSON object must be str, bytes or byte array, '
TypeError: the JSON object must be str, bytes, or byte array, not Response
How to solve the “The JSON object must be str, bytes or bytearray, not response” error
The best solution to solve this error is to use the json()
method.
Solution: Call the json()
method for data response when calling API.
When we work with JSON data. Python has built-in package ‘json’.
To fix this error, you can use the json()
method to get a data response.
Example:
In this example, we will use the json()
method instead of the loads()
method to get data and fix this error.
import requests import json # Request to get api from website with status = Dead and name = Adjudicator Rick get = requests.get('https://rickandmortyapi.com/api/character?status=Dead&name=Adjudicator%20Rick') data = get.json() print(data)
Output:
{'info': {'count': 1, 'pages': 1, 'next': None, 'prev': None}, 'results': [{'id': 8, 'name': 'Adjudicator Rick', 'status': 'Dead', 'species': 'Human', 'type': '', 'gender': 'Male', 'origin': {'name': 'unknown', 'url': ''}, 'location': {'name': 'Citadel of Ricks', 'url': 'https://rickandmortyapi.com/api/location/3'}, 'image': 'https://rickandmortyapi.com/api/character/avatar/8.jpeg', 'episode': ['https://rickandmortyapi.com/api/episode/28'], 'url': 'https://rickandmortyapi.com/api/character/8', 'created': '2017-11-04T20:03:34.737Z'}]}
Summary
In this article, we already explained to you how to solve the error “ValueError: The JSON object must be str, bytes or bytearray, not response” with solutions called the json()
method. We always hope this information will be of some help to you. Leave a comment below if you have any questions.
Maybe you are interested:
- The JSON object must be str, bytes or bytearray, not list
- The JSON object must be str, bytes or bytearray, not tuple

My name is Fred Hall. My hobby is studying programming languages, which I would like to share with you. Please do not hesitate to contact me if you are having problems learning the computer languages Java, JavaScript, C, C#, Perl, or Python. I will respond to all of your inquiries.
Name of the university: HUSC
Major: IT
Programming Languages: Java, JavaScript, C , C#, Perl, Python