To fix error “The JSON object must be str, bytes or bytearray, not tuple”, you can use the json.dumps()
method, parse JSON and access elements using json.loads()
to solve this error.
What causes the “The JSON object must be str, bytes or bytearray, not tuple” error?
JSON (JavaScript Object Notation) is a widely used format for storing and presenting data structures. JSON is commonly used to transmit and receive data between web applications and web servers. In Python, Python allows to manipulation of JSON as a string and saves JSON objects to a file.
The error happens when you convert a tuple by json.loads()
method. This error occurs because json.loads()
returns a ‘dict’ object whose data is contained in JSON.
Example:
import json names = ('John', 'Frank', 'Peter') jsonStr = json.loads(names) print(jsonStr)
Output:
Traceback (most recent call last):
File "./prog.py", line 5, 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 bytearray,'
TypeError: the JSON object must be str, bytes or bytearray, not tuple
How to solve this error?
Use the json.dumps() method
Use the json.dumps()
function to convert a Python Object to a JSON string. The json.dumps()
method sends the output to a file-like object. The json.dumps()
method takes two positional arguments, an encrypted object and a file-like object. The json.dumps()
method returns a string.
Example:
import json names = ('John', 'Frank', 'Peter') # Use the json.dumps() function to convert a Python Object to a JSON string jsonStr = json.dumps(names) print(jsonStr)
Output:
["John", "Frank", "Peter"]
On the above example, I create a tuple then I use json.dumps()
function to convert a Python Object to a JSON string.
Parse JSON and access elements using json.loads()
Convert all Python objects to JSON strings and use json.loads()
function to read that JSON string.
Example:
import json names = ('John', 'Frank', 'Peter') jsonStr = json.dumps(names) print(jsonStr) print(type(jsonStr)) print("Converting JSON string to List") myList = json.loads(jsonStr) print(myList)
Output:
["John", "Frank", "Peter"]
<class 'str'>
Converting JSON string to List
['John', 'Frank', 'Peter']
Python Object are converted to JSON strings. JSON module makes it easy for us to parse the structure of JSON strings and files containing strings. Here are all information about the json.loads()
method reads the JSON string and the files containing the JSON string that we want to talk in this article.
Summary
If you have any questions about error “the JSON object must be str, bytes or bytearray, not tuple” in Python, leave a comment below. I will answer your questions.
Maybe you are interested:
- TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- The JSON object must be str, bytes or bytearray not Response
- The JSON object must be str, bytes or bytearray, not list

My name is Jason Wilson, you can call me Jason. My major is information technology, and I am proficient in C++, Python, and Java. I hope my writings are useful to you while you study programming languages.
Name of the university: HHAU
Major: IT
Programming Languages: C++, Python, Java