在 laravel 中检索 JSON 输入值不起作用

我正在使用Laravel 7.*,我想发布有关JSONlaravel 路由的数据。

由于Laravel 文档JSON 文件必须可以使用此代码访问:

$name = $request->input('user.name');

这是一份 laravel 文档:

当向您的应用程序发送 JSON 请求时,只要将请求的 Content-Type 标头正确设置为 application/json,您就可以通过输入法访问 JSON 数据。

我正在通过浏览器中的RestMan扩展对其进行测试,并且正在使用content-type:application/jsonHeader 发送数据。

$request->input()始终是空的。

我测试过$request->json();,这个方法工作正常。为什么input()方法不适用于检索 json 数据?

编辑 :

这是我在 RestMan 中的请求:

http://img3.mukewang.com/643a97bf00017e3910050485.jpg

这是我的路线:


    Route::post('/get-json-data',function(Request $request){

    return $request->input('user.name');

});


哔哔one
浏览 153回答 1
1回答

婷婷同学_

您user在请求中的参数是一个 json 数组,因此您需要指定索引才能访问各个名称$request->input('user.0.name');$request->input('user.1.name');或遍历它并获得这样的名称数组$names = [];foreach($request->user as $user){    $names[] = $user->name;}你的原始代码$request->input('user.name');user如果是一个 json 字段并且是 json 中的一个字段,检查将起作用name,比如{    "user":{        "name":"Ford"    }}
打开App,查看更多内容
随时随地看视频慕课网APP