Почему не получается импортировать JSON?

Здравствуйте. Почему-то не получается загрузить JSON содержимое
import json
jsdata = "{'name': 'Jack'}"
data = json.load(jsdata)
print(data.name)


Traceback (most recent call last):
  File "/home/ubuntu/workspace/Untitled1.py", line 3, in <module>
    data = json.load(jsdata)
  File "/usr/lib/python2.7/json/__init__.py", line 286, in load
    return loads(fp.read(),
AttributeError: 'str' object has no attribute 'read'
  • Вопрос задан
  • 3363 просмотра
Решения вопроса 1
Assargin
@Assargin
Перед ответом смотрю наличие ✔ в ваших вопросах
import json
jsdata = '{"name": "Jack"}'
data = json.loads(jsdata)
print(data['name'])

  • Во-первых, ваш json невалиден. В JSON строже с кавычками, чем в python или php - там для обрамления строковых литералов разрешается использовать только двойные кавычки. Поэтому инвертируем кавычки во второй строчке
  • json.load - это метод загрузки из файла. Для парсинга из строки надо использовать json.loads
  • Последняя строчка - у вас неправильное обращение к ключу словаря
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы