Zend $this->_helper->json возвращает массив вместо JSON
Мы разрабатываем API с помощью ZEND Framework. Вот пример ответа
$this->getResponse()
->setHttpResponseCode(200)
->appendBody($this->_helper->json($client->toArray()));
Я предполагал, что $this->_helper->json вернет JSON-строку, но она вернет массив (в среде dev).
Теперь у меня есть промежуточный сервер, и тот же код возвращает строки JSON.
В настоящее время среда разработки - это другая версия PHP (dev - 5.3.1, staging - 5.3.3). Это причина? Эти разные версии кодируют JSON по-разному? Есть идеи, почему это происходит?
1 ответ
В этом случае было бы также целесообразно разбить ваши вызовы вложенных функций на отдельные вызовы и каждый результат var_dump проверял, что внутреннее содержимое работает так, как вы ожидали:
$response = $this->getResponse();
$setResponseReturn = $response->setHttpResponseCode(200);
$clientArray = $client->toArray();
var_dump($response, $setResponseReturn, $clientArray);die;
//->appendBody($this->_helper->json($client->toArray()));