РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
65 of 643 menu

Атрибут json

Атрибут json применяется к объекту запроса request и содержит данные, полученные из тела запроса в формате JSON. Если тело запроса не содержит корректный JSON или тип содержимого не соответствует application/json, атрибут возвращает None. При успешном разборе результатом может быть словарь, список или скалярное значение в зависимости от содержимого.

Синтаксис

request.json

Пример

Давайте отправим POST-запрос с JSON-телом и вернём полученное значение обратно:

from flask import Flask, request app = Flask(__name__) @app.route('/api', methods=['POST']) def api(): data = request.json return data

Результат выполнения кода при отправке тела {"name": "abcde"}:

{"name": "abcde"}

Пример

Давайте извлечём конкретное поле из разобранного JSON:

from flask import Flask, request app = Flask(__name__) @app.route('/user', methods=['POST']) def user(): data = request.json name = data.get('name') return name

Результат выполнения кода при отправке тела {"name": "abcde"}:

"abcde"

Пример

Давайте обработаем случай, когда тело запроса не содержит JSON, и вернём значение по умолчанию:

from flask import Flask, request app = Flask(__name__) @app.route('/data', methods=['POST']) def data(): payload = request.json if payload is None: return 'no json' return payload

Результат выполнения кода при отправке запроса без JSON-тела:

"no json"

Смотрите также

  • метод get_json,
    который возвращает JSON-данные с дополнительными параметрами
  • метод on_json_loading_failed,
    который обрабатывает ошибку разбора JSON
  • атрибут is_json,
    который проверяет, содержит ли запрос JSON
  • атрибут data,
    который содержит тело запроса в виде байтов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить