Не удаётся загрузить в переменную json файл со словарём

py файл и json файл лежат в одной папке. json файл содержит словарь. Необходимо загрузить json файл(словарь) в переменную, чтобы проитерироваться по нему.

Делал так:

with open('test.json', 'r') as file:
   data = json.loads(file)
   print(data)

выпадает ошибка:

Traceback (most recent call last):
  File "testtest.py", line 15, in <module>
    data = json.loads(file)
  File "/usr/lib/python3.6/json/__init__.py", line 348, in loads
    'not {!r}'.format(s.__class__.__name__))
TypeError: the JSON object must be str, bytes or bytearray, not 'TextIOWrapper'

Ответы (1 шт):

Автор решения: nomnoms12

Передавайте не объект файла, а его данные, которые можно получить с помощью file.read(). Либо используйте json.load.

Примеры:

with open('test.json') as file:
    data = json.loads(file.read())
with open('test.json') as file:
    data = json.load(file)
→ Ссылка