Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Laravel中获取(解析)这个JSON?_Laravel_Laravel 5 - Fatal编程技术网

如何在Laravel中获取(解析)这个JSON?

如何在Laravel中获取(解析)这个JSON?,laravel,laravel-5,Laravel,Laravel 5,现在我得到了JSON格式的POST数据,如: if ($request->filled('Countries')) { dd($request->Countries); } 其中$request->Countries是从客户端发送的数组: "Countries": [2,15] 如果要发送以下JSON格式,该怎么办: { "places": [{"country": 1, "city": 1}, {"country": 1, "city": 2}] } 如何使用

现在我得到了JSON格式的POST数据,如:

if ($request->filled('Countries')) {
    dd($request->Countries);
}
其中
$request->Countries
是从客户端发送的数组:

"Countries": [2,15] 
如果要发送以下JSON格式,该怎么办:

{
   "places": [{"country": 1, "city": 1}, {"country": 1, "city": 2}]
}
如何使用Laravel中的请求获取此数据并进行处理?

使用json_decode($json,true)将其解析为PHP数组:

$parsed_array = json_decode($data, true);

为了进行验证,JSON/Array中的嵌套元素必须使用以下sintax:

$v = Validator::make($request->all(), [
  'person.*.id' => 'exists:users.id',
  'person.*.name' => 'required:string',
]);
对于JSON对象:

{"person": {"id": 1, "name": "OOO"}}
只是一个提示。request()->input()方法接受点表示法,它允许您拥有无限的嵌套。如果您想从嵌套级别的请求创建新请求,您可以

$r = $request->input('places');
$requests[] = new Illuminate\Http\Request($r);

如何使用Laravel中的默认验证器来验证它?如何验证这些嵌套参数?我认为我们不应该将第二个参数设置为true,因为它会将所有对象结构解析为一个数组。结果将是[“地点”:[[“国家”:1,“城市”:1][“国家”:1,“城市”:2]],而不是{“地点”:[{“国家”:1,“城市”:1},{“国家”:1,“城市”:2}]