Python

Создайте ответ JSON в Python

Создайте ответ JSON в Python

Файл JSON (JavaScript Object Notation) является очень популярным средством обмена данными между различными форматами. Он содержит данные в текстовом формате, который поддерживается различными языками, такими как Python, PHP, PERL и т. Д. Основное назначение файла JSON - передача данных между сервером и клиентом. Запросы генерируются Python для извлечения данных из определенного URI ресурса. Если ответ на запрос возвращается в формате JSON, то содержимое ответа можно получить с помощью ответа.функция json (). Он возвращает ответ, используя объект словаря Python. В этом руководстве будет показано, как эту функцию можно использовать для анализа ответа JSON с помощью библиотеки запросов Python.

Ответ JSON:

Модуль запроса Python содержит декодер JSON для работы с данными JSON. Ответ.функция json () возвращает ответ JSON, если декодер JSON работает правильно. Ответ.Функция json () вызывает исключение, если декодер JSON не работает, а ответ JSON не содержит никаких данных или недопустимых данных. Возвращаемое значение ответа.Raise_for_status () или ответ.status_code необходимо проверить перед выполнением ответа.функция json ().

Различные варианты использования ответа.json ():

Три разных использования ответа.Функция json () будет показана в этой части руководства.

Пример-1: Простое использование ответа.json ()

Простое использование ответа.В этом примере будет описана функция json (). Ответ на запрос на получение URI, https: // api.github.com / хранится в переменной с именем response. Далее проверяется значение переменной ответа. Если переменная ответа содержит недопустимый ответ, будет выведено сообщение об ошибке. Если переменная ответа содержит действительный ответ, который является кодом состояния ответа и его содержимым, будет напечатано сообщение об успешном завершении.

# Модуль запросов на импорт
запросы на импорт
# Создать запрос на получение
ответ = запросы.get ('https: // api.github.com / ')
# Проверить ответ
если ответ:
# Распечатать код статуса ответа
print ('Код состояния ответа% d'% response.status_code)
# Распечатать содержимое JSON
print ('Содержимое JSON: \ n% s'% response.json ())
# Распечатать сообщение об успехе
print ('\ nЗапрос успешно обработан.')
еще:
# Распечатать сообщение об ошибке для недопустимого ответа
print ('Неверный ответ.')

Выход:

Следующий вывод появится после выполнения вышеуказанного скрипта.

Пример-2: Использование ответа.json () с обработкой исключений

Способ использования ответа.В этом примере будет показана функция json () с обработкой исключений. Модуль HttpError импортируется вместе с модулем запроса в скрипт для обработки исключения. Здесь URI-адрес будет взят у пользователя для использования запросов.функция get (). Ответ на этот запрос будет сохранен в переменной ответа. Далее ответ.Функция raise_for_status () используется для проверки ответа на запрос, является ли он действительным или недействительным. Если ответ недействителен, будет сгенерировано исключение, и код любого блока except будет выполнен на основе исключения. Если ответ действителен, то содержимое переменной ответа будет повторяться с использованием цикла for для печати значений словаря в каждой строке, содержащей данные ответа.

# Модуль запросов на импорт
запросы на импорт
# Импортировать HTTPError для обработки исключений
из запросов.исключения import HTTPError
# Определить URI
uri = input ('Введите действительный URI: \ n')
# Распечатать ожидающее сообщение
print ('Ожидание ответа… \ n')
пытаться:
# Создаем запрос на чтение содержимого фидов на github
ответ = запросы.получить (ури)
# Вызвать исключение, если ответ был неудачным
отклик.Raise_for_status ()
# Прочитать содержимое JSON
jsonResponse = ответ.json ()
print ("Содержимое JSON: \ n")
# Прочитать и распечатать каждую пару "ключ-значение" из ответа JSON
для ключа значение в jsonResponse.Предметы():
print (ключ, ":", значение)
# Распечатать сообщение об ошибке для HTTP-ошибки
кроме HTTPError как http_err:
print ('Произошла ошибка HTTP:% s'% http_err)
# Распечатать сообщение об ошибке для HTTP-ошибки
кроме исключения как ошибки:
print ('Произошла другая ошибка:% s'% err)

Выход:

Следующий вывод появится после выполнения скрипта, когда пользователь предоставит несуществующее значение URI. Здесь исключение HTTPError было создано вместе с соответствующим сообщением об ошибке.


Следующий вывод появится после выполнения сценария, когда пользователь предоставит недопустимое значение URI. Здесь было создано другое исключение с соответствующим сообщением об ошибке.

Следующий вывод появится после выполнения скрипта, когда пользователь предоставит действительное значение URI. Здесь содержимое JSON было напечатано правильно.

Пример-3: Использование ответа.json () со строкой запроса

Способ использования ответа.В этом примере будет показана функция json () со строкой запроса. Здесь запросы.Функция get () использовала значение строки запроса с URI, используя параметры. Он будет искать записи для языка PERL в указанных репозиториях. Если переменная ответа содержит допустимый ответ, то будут напечатаны имя и описание репозитория, в противном случае будет сообщение об ошибке.

# Модуль запросов на импорт
запросы на импорт
# Поиск в репозитории github с использованием строки запроса
ответ = запросы.получать(
https: // api.github.ru / search / repositories ',
params = 'q': 'запросы + язык: perl',
)
# Проверить ответ
если ответ:
# Прочитать содержимое JSON
json_response = ответ.json ()
# Прочитать конкретный элемент репозитория
репозиторий = json_response ['элементы'] [0]
# Распечатать имя репозитория
print ('Имя репозитория:% s'% репозиторий ["имя"])
# Распечатать описание репозитория
print ('Описание репозитория:% s'% репозиторий ["описание"])
еще:
# Распечатать сообщение об ошибке для недопустимого ответа
print ('Неверный ответ.')

Выход:

Следующий вывод появится после выполнения вышеуказанного скрипта. Здесь были напечатаны имя репозитория и описание для языка PERL.

Заключение:

Различные способы отправить запрос на конкретный URI и прочитать ответ с помощью ответа.Функция json () была показана в этом руководстве на простых примерах. Я надеюсь, что это руководство поможет читателям понять использование ответа JSON в Python и правильно применить его в своем скрипте, когда это необходимо.

Учебник Battle for Wesnoth
Битва за Веснот - одна из самых популярных стратегических игр с открытым исходным кодом, в которую вы можете играть сейчас. Эта игра не только очень д...
0 А.D. Руководство
Из множества существующих стратегических игр 0 A.D. удается выделиться как всеобъемлющее название и очень глубокая тактическая игра, несмотря на то, ч...
Учебное пособие по Unity3D
Введение в Unity 3D Unity 3D - мощный движок для разработки игр. Это кроссплатформенный, то есть он позволяет создавать игры для мобильных устройств, ...