laravel和JSON阵列
问题描述:
我使用laravel 5.3和angularjs 我提交JSON从我angularjs像下面laravel和JSON阵列
{"grc":{"id":1},"floatingGrcs":[{"days":"10","units":"100"},{"days":"20","units":"200"}]}
我从laravel控制器接受这个数组像下面
public function store(Request $request)
{
//how to extract $request object in here
}
我不t知道如何在laravel控制器中提取提交的json数组。
答
您可以使用标准json_decode()
:
public function store(Request $request)
{
$data = json_decode($request->someJson);
}
你可以看一下所有可用数据dd($request->all());
答
常见的情况是,有没有必要通过角后JSON编码的数据。
要提交一些与角度,你应该使用,例如:
$http.post('api/something', {"grc":{"id":1},"floatingGrcs": [..]})
然后就没有必要对Laravel侧解码JSON:
public function store(Request $request)
{
$request->all(); // to get all fields
$request->grc->id; // to get a specific field
}
答
我得到以下回答码。但我不确定
$params = json_decode(file_get_contents('php://input'), TRUE);
这是上面这行代码的安全与否。
public function store()
{
$params = json_decode(file_get_contents('php://input'), TRUE);
foreach ($params as $key => $value)
{
if($key == "grc")
{
$grc_id = $value["id"];
}
elseif($key == "floatingGrcs")
{
foreach ($value as $floating)
{
$days = $floating["days"];
}
}
}