Как получить достоверный вывод JSON из ответа в Zend Framework 3?

Я пишу клиент для API …

use Zend\Http\Client; use Zend\Http\Request; use Zend\Json\Json; ... $request = new Request(); $request->getHeaders()->addHeaders([ 'Accept-Charset' => 'UTF-8', 'Accept' => 'application/hal+json', 'Content-Type' => 'application/hal+json; charset=UTF-8', ]); $apiAddress = 'http://my.project.tld/categories'; $request->setUri($apiAddress); $request->setMethod('GET'); $client = new Client(); $response = $client->dispatch($request); $data = $response->getContent(); 

… и получить сломанный JSON вот так:

 1f9e <-- What is it? {"_links... \u043 <-- What is it? 1a6... tfoli <-- What is it? 0 

Строка разделяется на пять строк:

  • 1-я строка: только 1f9e
  • Вторая строка: первая часть контента
  • 3d строка: строка 1a6
  • 4-я строка: вторая часть контента
  • 5-я строка: 0

Почему я получаю дополнительные символы / строки? Как избежать этого, получить действительный выход JSON?

    Проблема с методом getContent() объекта ответа. Он не может декодировать содержимое, содержащееся в нем, из запроса. Пожалуйста, смотрите здесь . Это может быть причиной. Возможно, я ошибаюсь!

    Таким образом, метод getBody() выполняет задание декодирования для содержимого запроса. Поэтому, пожалуйста, используйте этот метод вместо getContent() .

     $data = $response->getBody(); 

    Надеюсь, это поможет вам!