Мне нужно проверить полезную нагрузку JSON, чтобы содержать объект JSON для определенного поля. Насколько я вижу, объекты JSON и массивы JSON преобразуются в массивы PHP в Laravel's Illuminate\Http\Request
Различать объект JSON и массив JSON в Laravel
См. Пример ниже.
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"]
}
Response
{
"obj1": "Array",
"obj2": "Array",
"arr1": "Array",
"arr2": "Array"
}
Есть ли способ, что я могу проверить полей obj1
а также obj2
содержать только Объекты JSON здесь?