Во-первых, содержимое вашего файла не json.
Учитывая допустимое json содержимое файла /tmp/a.json
:
{"a": 123}
json.load()
принимает объект файла, например:
>>> import json
>>> with open('/tmp/a.json', 'r') as f:
... data = json.load(f)
... print(data)
...
{'a': 123}
Ваша ошибка возникает из-за итерации файлового объекта, который считывает каждую строку в строку
>>> with open('/tmp/a.json', 'r') as f:
... for i in f:
... print(i.__class__)
...
<class 'str'>
В этом случае вам нужно будет использовать json.loads()
, который принимает строку json
>>> with open('/tmp/a.json', 'r') as f:
... for i in f:
... print(json.loads(i))
...
{'a': 123}