如您所见,'cover'和'parking'索引都是数组。但是当我返回响应时,我会得到类似的东西。
'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响应?
答案 0 :(得分:1)
好的,我找到了答案。 由于我的数组也有一个对象作为值,序列化程序返回空的json对象,同时将响应返回给json。所以要解决这个问题,我检查了密钥是否是对象
foreach($options as $t){
if(isset($graphObject[$t]))
//
$pageInfo[$t] = gettype($graphObject[$t])== 'object'?(array)$graphObject[$t]:$graphObject[$t];
}