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

Метод send_json

Метод send_json применяется к объекту WebSocket внутри обработчика WebSocket-маршрута. Первым параметром передаётся объект Python, который будет сериализован в JSON и отправлен клиенту. Этот метод является асинхронным, поэтому вызывается через await.

Синтаксис

await websocket.send_json(data)

Параметр data - это любой объект, который может быть сериализован в JSON: словарь, список, строка, число или булево значение.

Пример

Давайте создадим WebSocket-маршрут, который при подключении сразу отправляет клиенту словарь в формате JSON:

from fastapi import FastAPI, WebSocket app = FastAPI() @app.websocket('/ws') async def websocket_endpoint(websocket: WebSocket): await websocket.accept() await websocket.send_json({'text': 'hello'}) await websocket.close()

Результат выполнения кода, полученный клиентом:

{"text": "hello"}

Пример

Давайте отправим клиенту список чисел в формате JSON:

from fastapi import FastAPI, WebSocket app = FastAPI() @app.websocket('/ws') async def websocket_endpoint(websocket: WebSocket): await websocket.accept() await websocket.send_json([1, 2, 3, 4, 5]) await websocket.close()

Результат выполнения кода, полученный клиентом:

[1, 2, 3, 4, 5]

Пример

Давайте отправим клиенту вложенную структуру с данными пользователя:

from fastapi import FastAPI, WebSocket app = FastAPI() @app.websocket('/ws') async def websocket_endpoint(websocket: WebSocket): await websocket.accept() await websocket.send_json({ 'user': 'abcde', 'roles': ['admin', 'user'], 'active': True }) await websocket.close()

Результат выполнения кода, полученный клиентом:

{"user": "abcde", "roles": ["admin", "user"], "active": true}

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

  • класс WebSocket,
    который представляет WebSocket-соединение
  • метод send_text,
    который отправляет клиенту текстовое сообщение
  • метод send_bytes,
    который отправляет клиенту бинарные данные
  • метод receive_json,
    который принимает JSON-сообщение от клиента
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить