使用 Slim 从 HTTP 请求中获取对象时出错

Error taking object from HTTP Request with Slim

我通过 POST 发送到 API-REST with Slim,我收到了我的数据,但我无法转换为对象。 看:

header('Content-type: application/json');
    $request = \Slim\Slim::getInstance()->request();
    var_dump($_POST);
    print("<br>");
    print("<br>");
    var_dump($request->getBody());

结果是:

array(11) { ["nombre"]=> string(10) "nom prueba" ["apellido"]=> string(10) "ape_prueba" ["edad"]=> string(2) "20" ["altura"]=> string(3) "190" ["goles"]=> string(3) "200" ["amarillas"]=> string(2) "10" ["rojas"]=> string(1) "5" ["asistencias"]=> string(1) "4" ["partidos"]=> string(3) "100" ["equipos"]=> string(1) "3" ["trofeos"]=> string(1) "2" }

string(136) "nombre=nom%20prueba&apellido=ape_prueba&edad=20&altura=190&goles=200&amarillas=10&rojas=5&asistencias=4&partidos=100&equipos=3&trofeos=2" 

但是如果我这样做 json_decode,它不会转换为对象:

$received = $request->getBody();
    var_dump(json_decode($received)); // NULL

我该怎么做?什么是最好的方法?

请求正文不是JSON格式,所以json_decode不行,也没有必要。您的请求已转换为 PHP 对象,如 var_dump($_POST); 的输出所示。您可以使用 $_POST['nombre'].

访问名称等参数