在 php 中,通常需要接收其他应用程序或前端发送过来的 json 数据,同时将其转化为数组进行后续处理。本篇文章将介绍如何在 php 中接收 json 并进行转化为数组的操作。
- 接收 JSON 数据
在 PHP 中,可以通过 $_POST 或 $_GET 全局变量来接收前端传递的 JSON 数据。下面的示例是通过 POST 方式传递 JSON 数据并接收:
$json = file_get_contents('php://input');具体解释:
- file_get_contents 是 PHP 内置函数,用于读取文件内容;
- 在这里,我们利用 PHP 的输入流 php://input 将 POST 方式提交的数据以字符串的形式读取出来;
- 最终将读取到的字符串赋值给一个变量。
- 解析 JSON 数据
接下来,我们需要把读取到的 JSON 字符串转换为 PHP 中的数组,PHP 提供了内置函数 json_decode 用于将 JSON 数据转化为 PHP 数组。具体示例如下:
$data = json_decode($json, true);
在上面的代码中,我们将读取到的 JSON 数据传给 json_decode 函数。第二个参数设置为 true,表示将返回关联数组,否则会返回对象。
立即学习“PHP免费学习笔记(深入)”;
注意:如果 JSON 格式不正确,解析过程可能会失败,这时 json_decode 会返回 null。所以,在解析之前一定要确保 JSON 数据格式正确。
- 完整示例
下面是一个完整的实现示例:
// 从输入流中读取json数据
$json = file_get_contents('php://input');
// 解析json为数组
$data = json_decode($json, true);
// 打印数组内容
print_r($data);- 总结
在 PHP 中接收并解析 JSON 数据变得非常简单。通过读取输入流中的 JSON 字符串并使用内置的 json_decode 函数将其转化为数组即可。同时,在接收数据之前一定要确保数据格式的正确性,避免出现解析错误的情况。











