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

Метод json

Метод json применяется к объекту ответа (экземпляру класса ClientResponse), который возвращается методами HTTP-клиента Laravel. Он автоматически парсит JSON-строку из тела ответа и преобразует её в массив PHP (по умолчанию) или в объект. Это удобно при работе с API, когда нужно быстро получить структурированные данные.

Синтаксис

<?php $res = Http::get($url)->json($key = null, $default = null); ?>

Метод принимает два необязательных параметра: $key - ключ для извлечения конкретного элемента из декодированного массива, и $default - значение по умолчанию, возвращаемое, если ключ не найден.

Пример

Давайте отправим GET-запрос к API, которое возвращает список пользователей, и декодируем JSON в массив:

<?php namespace AppHttpControllers; use IlluminateSupportFacadesHttp; use IlluminateHttpRequest; class ApiController extends Controller { public function index() { $res = Http::get('https://api.example.com/users'); $users = $res->json(); echo $users[0]['name']; } } ?>

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

"John Doe"

Пример

Если API возвращает сложную структуру, вы можете получить конкретное значение, передав ключ в метод json:

<?php namespace AppHttpControllers; use IlluminateSupportFacadesHttp; class ApiController extends Controller { public function show() { $res = Http::get('https://api.example.com/user/1'); $email = $res->json('email'); echo $email; } } ?>

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

"john@example.com"

Пример

Если ключ отсутствует, метод вернёт значение по умолчанию. Это позволяет избежать ошибок при работе с неполными данными:

<?php namespace AppHttpControllers; use IlluminateSupportFacadesHttp; class ApiController extends Controller { public function details() { $res = Http::get('https://api.example.com/user/2'); $phone = $res->json('phone', 'not provided'); echo $phone; } } ?>

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

"not provided"

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

  • метод body,
    который возвращает тело ответа в виде строки
  • метод object,
    который декодирует JSON в объект
  • метод collect,
    который возвращает коллекцию из декодированного JSON
  • метод status,
    который возвращает HTTP-код ответа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить