【问题标题】:Parse request content json to object in Laravel将请求内容 json 解析为 Laravel 中的对象
【发布时间】:2020-10-24 16:39:18
【问题描述】:

我在 Laravel 中有控制器:

public function addUserTesterPost(Request $request)
{
    $requestContent = json_decode($request->getContent(), true);
    
    $emil = $requestContent->email; //error: $requestContent is null
   
}

这是我在$request->getContent()收到的json:

{                     
  'email': 'dean',
  'psw': 'dean123',
}

如何将上面的 json 解析为对象以获取电子邮件? 我从邮递员发送请求,在标题中我设置了content-type: application/json

【问题讨论】:

  • 试试$email = $request->email;
  • 在您的代码中,您将内容解码为数组,并且您必须使用 (object)json_decode(...); 将其转换为对象;
  • $request->email 不起作用,在第二种情况下,当我投射到对象时出现错误:ErrorException: Undefined property: stdClass::$email in file C:\xampp\htdocs\fff\app\Http\Controllers\UserApiController.php on line 41

标签: json laravel post


【解决方案1】:

这是一个数组 json_decode($request->getContent(), true);

->不能用于数组,而是使用[ ] $requestContent['email'];

【讨论】:

  • $requestContent['email'] 给我 null,如何检查从 json_decode 返回的对象?
  • $requestContent[0]->email 是正确答案,json 应该在[{...}] 中使用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-26
  • 1970-01-01
相关资源
最近更新 更多