Thinkphp 如何接收 Json 数据
正常提交JSON格式的数据,Thinkphp v6.0如何获取到具体的参数呢?折腾一番之后,才发现其中奥妙!
官方说的很简单:
对于body中提交的json
对象,你无需使用php://input
去获取,可以直接当做表单提交的数据使用,因为系统已经自动处理过了
但怎奈何本人愚笨,还是没能体会出到底如何获取json数据。
经本人一番折腾,发现获取确实简单。一句 $jsonData = $request->param();
就解决问题了。
下面给个实际例子:
要传入的json数据为:(我们要取出其中的taskname
)
{
"taskname": "hello",
"content": [
{
"stuname": "耿先生",
"stuid": "1xxxxxxxxx",
"ispushed": "1"
}
]
}
然后PHP这边写:(注意使用了依赖注入,详见这里的“操作方法注入”一节,所谓依赖注入,只不过是更方便的调用Request类罢了,如果使用其他方式使用Request类都是可以的!)
public function release(Request $request){
$requestData = $request->param();//把json数据直接拿出来,变成数组
return $requestData['taskname'];//直接就拿出来taskname这个里头的东西了!
}
这样 也不行呀