如何在Laravel中获取(解析)这个JSON?
现在我得到了JSON格式的POST数据,如:如何在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}] } 如何使用
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}]