将json数据解码为数组并在PHP(Laravel)中访问数组

Md *_*ruk 5 php arrays json laravel-5

我正在尝试将我的表单输入提交为 json 格式。将 json 数据解码为数组后,我无法访问数组。

{
    "info": {
        "q_title": "hello",
        "q_description": "ddd",
        "q_visibility": "1",
        "start_date": "Thu, 05 Oct 2017 06:11:00 GMT"
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的json数据。我的 Laravel 控制器如下:

public function store_quiz(Request $request)
    {
        $data = json_decode($request->getContent(), true);

        $input = $arrayName = array(
            'title' => $data["info"]["q_title"], 
        );

        CreateQuiz::create($input);

        $redirect = '/';
        return $redirect;
    }
Run Code Online (Sandbox Code Playgroud)

不幸的是$data["info"]["q_title"]返回NULL。如何访问我的json的“q_tittle”??

Dha*_*hit 4

只需像这样访问您的数据,json_decode无需第二个参数。

$data->info->q_title
Run Code Online (Sandbox Code Playgroud)

并使用第二个参数为 true,这会将您的对象转换为数组。

$data = json_decode($request->getContents(),true) //then use
$data['info']['q_title']
Run Code Online (Sandbox Code Playgroud)

如果您没有收到任何内容,$request->getContents()那么问题就出在您发送的请求上。

另外,请检查这两个链接以了解如何检索 JSON 负载

Laravel 5:从 $request 检索 JSON 数组

将 JSON 发布到 Laravel