【发布时间】:2016-01-31 03:47:42
【问题描述】:
我需要验证 JSON 有效负载以包含特定字段的 JSON 对象。据我所知,在 Laravel 的Illuminate\Http\Request 中,JSON 对象和 JSON 数组都转换为 PHP 数组
请看下面的例子。
Controller.php
private static function getType($o) {
if (is_object($o)) {
return "Object";
} else if (is_array($o)) {
return "Array";
}
return "Unknown";
}
public function test(Request $request) {
$input = $request->all();
$response = [];
foreach ($input as $key => $value) {
$response[$key] = Controller::getType($value);
}
return response()->json($response);
}
test 是获得 HTTP 请求命中的函数。
这是来自 Controller.php
的示例请求和响应请求
{
"obj1": {},
"obj2": {
"hello": "world"
},
"arr1": [],
"arr2": ["hello world"]
}
回应
{
"obj1": "Array",
"obj2": "Array",
"arr1": "Array",
"arr2": "Array"
}
有没有一种方法可以验证字段 obj1 和 obj2 仅包含 JSON 对象?
【问题讨论】: