当前位置 博文首页 > 文章内容

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

    作者:shunshunshun18 栏目:未分类 时间:2021-08-26 10:43:14

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    在上一篇文章《》中给大家介绍了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": "IIS7站长之家博文"
    }';
    
    $data = json_decode($json);
    
    echo $data->title;
    echo "<br>";
    
    echo $data->site;

    输出:

    PHP
    IIS7站长之家博文

    IIS7站长之家博文平台有非常多的视频教学资源,欢迎大家学习《》!