首页 >后端开发 >PHP问题 >如何使用PHP接收POST的JSON数据

如何使用PHP接收POST的JSON数据

藏色散人
藏色散人原创
2021-08-26 10:32:4410732浏览

在上一篇文章《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 = &#39;["PHP", "HTML", "javascript"]&#39;;

$data = json_decode($json);

echo $data[0];

输出结果:

PHP

第二种示例:

<?php
$json = &#39;{
    "title": "PHP",
    "site": "PHP中文网"
}&#39;;

$data = json_decode($json);

echo $data->title;
echo "<br>";

echo $data->site;

输出:

PHP
PHP中文网

PHP中文网平台有非常多的视频教学资源,欢迎大家学习《PHP视频教程》!

以上是如何使用PHP接收POST的JSON数据的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn