FOS Rest Bundle не возвращает правильный JSON

введите описание изображения здесь

Как вы можете видеть, индексы ‘cover’ и ‘parking’ являются массивами. Но когда я возвращаю ответ, я получаю что-то вроде этого.
введите описание изображения здесь

Клавиша «крышка» и «парковка» не отображают значения в ответе json.
Итак, это мой контроллер:

    public function getPageInfoAction($page)
{

$request = (new FacebookRequest(
$this->initAppAction(),
'GET',
"/{$page}"))->execute();

$graphObject = $request->getGraphObject();
//dump($graphObject);
//die;
return $graphObject->asArray();
}

Это мой файл config.yml

#fos_rest
fos_rest:
param_fetcher_listener: force
view:
view_response_listener: 'force'
formats:
xml:  true
json: true
templating_formats:
html: true
format_listener:
rules:
- { path: ^/, priorities: [ html, json, xml ], fallback_format: ~, prefer_extension: true }
exception:
codes:
'Symfony\Component\Routing\Exception\ResourceNotFoundException': 404
'Doctrine\ORM\OptimisticLockException': HTTP_CONFLICT
messages:
'Symfony\Component\Routing\Exception\ResourceNotFoundException': true
allowed_methods_listener: true
access_denied_listener:
json: true
body_listener: true
disable_csrf_role: ROLE_API

Так как же я могу вернуть правильный ответ JSON?

1

Решение

Хорошо, я нашел ответ на это.
Поскольку у моего массива также был объект в качестве значения, сериализатор возвращал пустой объект json, возвращая ответ на json. Таким образом, чтобы решить, что я проверил, является ли ключ объектом или нет

 foreach($options as $t){
if(isset($graphObject[$t]))
//
$pageInfo[$t] = gettype($graphObject[$t])== 'object'?(array)$graphObject[$t]:$graphObject[$t];
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]