Php 如何在symfony中将json请求转换为数组?
我正在尝试将JSON请求Php 如何在symfony中将json请求转换为数组?,php,symfony4,Php,Symfony4,我正在尝试将JSON请求$Request转换为数组 我的输出如下: ^ Symfony\Component\HttpFoundation\Request {#45 +attributes: Symfony\Component\HttpFoundation\ParameterBag {#74 #parameters: array:3 [ "_route" => "app_movie_create" "_controller" => "App\Cont
$Request
转换为数组
我的输出如下:
^ Symfony\Component\HttpFoundation\Request {#45
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#74
#parameters: array:3 [
"_route" => "app_movie_create"
"_controller" => "App\Controller\MovieController::create"
"_route_params" => []
]
}
+request: Symfony\Component\HttpFoundation\ParameterBag {#96
#parameters: []
}
+query: Symfony\Component\HttpFoundation\ParameterBag {#69
#parameters: array:1 [
"title" => "Homecoming"
]
}
我看到一些教程给出了以下解决方案
$data = json_decode($request->getContent(), true);
if (json_last_error() !== JSON_ERROR_NONE) {
throw new BadRequestHttpException('invalid json body: ' . json_last_error_msg());
}
但在我的情况下,我变得无效
我可以这样做<代码>$request->get('title')
$request->request->all()
将返回请求中发送的所有参数的数组$request->query->all()
将返回所有已发送查询参数的数组
json\u decode($request->getContent())
只有在发送请求的人在原始正文中向您发送json字符串时才起作用。在您的情况下(因为您可以使用$request->get('title');
),这并没有发生。请求只包含一些参数,没有原始json正文。可能会有所帮助