Задать вопрос
@andrey69rus

Как правильно преобразовать в обьект python скачанный json файл?

Здравствуйте, сразу не пинайте я валенок, учусь
Задача скачать с сервера json файл и далее с ним работать
Собственно код
import json
from datetime import datetime
import requests

print('Получение актуальных cookie\n')


url = 'http://тут ссылка'
    
response = requests.get(url)

print('Скачали\n')

data = json.loads(response)
#print(data)


при выполнении ошибка

Traceback (most recent call last):
File "C:\Users\User\Desktop\test\test3.py", line 21, in
data = json.loads(response)
File "C:\Program Files\Python310\lib\json\__init__.py", line 339, 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 Response


подскажите пожалуйста что не так делаю
  • Вопрос задан
  • 271 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 2
Mike_Ro
@Mike_Ro Куратор тега Python
Python, JS, WordPress, SEO, Bots, Adversting
Нужно читать не сам объект, а его содержимое, например json() методом. Добавил заголовок, т.к. сервер блочил ответ без них с кодом 403:
import requests

url = "http://detailing69.ru/wb_cookies.json"
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}

res = requests.get(url, headers=headers)

if res.status_code == 200:
    print(res.json())
else:
    print(f"ОшибкО: {res.status_code}")

# [{'seller': 'Оксана ', 'cookies': {'general': '1', 'statistics': '2', 'supplies': '3', 'advertisement': '4'}}]
Ответ написан
Viji
@Viji
DevOps Engineer
Я предпочитаю конвертировать JSON в словарь и далее ходить по его keys и values, намного удобнее, тк можешь использовать методы работы со словарем

в твоем случае надо заменить на эту строку:
data = json.loads(response.text)

# Import JSON module
import json

# Define JSON string
jsonString = '{ "id": 121, "name": "Naveen", "course": "MERN Stack"}'

# Convert JSON String to Python
student_details = json.loads(jsonString)

# Print Dictionary
print(student_details)

# Print values using keys
print(student_details['name'])
print(student_details['course'])


отсюды )

https://www.geeksforgeeks.org/convert-json-to-dict...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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