如何使用PHP接收POST的JSON数据
在上一篇文章《php程序如何遍历json数据》中给大家介绍了PHP怎么遍历json数据,那么本文将继续介绍PHP json相关内容,希望大家继续往下看~
本文讲解的内容则是PHP接收POST的JSON数据的方法。
如果大家阅读过上一篇文章,想必对json有一定的认识,这里就不多介绍了。
首先我给大家介绍三个重要的知识点:
1、php://input
:这是一个只读流,允许我们从请求正文中读取原始数据。无论内容类型如何,它都会在请求的 HTTP 标头之后返回所有原始数据。
2、file_get_contents()
函数:PHP 中的此函数用于将文件读入字符串。
3、json_decode()
函数:该函数接受一个 JSON 字符串并将其转换为 PHP 变量,该变量可以是数组或对象。
想必大家都知道我们可以使用$_POST[]全局变量在 PHP 脚本中接收所有发布数据。但是当我们想要接收 JSON 字符串作为发布数据时,就会显示失败。那么想要接收 JSON 字符串,我们就可以使用“php://input”和file_get_contents()函数来帮助我们将 JSON 数据作为文件接收并将其读入字符串。
下面我们通过具体示例来介绍:
使用json_decode()函数对 JSON 字符串进行解码。
// 从请求中获取原始数据 $json = file_get_contents('php://input'); // 将其转换为 PHP 对象 $data = json_decode($json);
第一种示例:
<?php $json = '["PHP", "HTML", "javascript"]'; $data = json_decode($json); echo $data[0];
输出结果:
PHP
第二种示例:
<?php $json = '{ "title": "PHP", "site": "PHP中文网" }'; $data = json_decode($json); echo $data->title; echo "<br>"; echo $data->site;
输出:
PHP PHP中文网
PHP中文网平台有非常多的视频教学资源,欢迎大家学习《PHP视频教程》!