阅读量:0
在 PHP 中处理 application/json
数据,您需要首先获取 JSON 数据并将其解码为 PHP 对象或关联数组
获取 JSON 数据:
通常,JSON 数据是通过 HTTP POST 请求的主体发送的。您可以使用
file_get_contents()
函数从输入流中读取原始 POST 数据。$json_data = file_get_contents('php://input');
解码 JSON 数据:
使用
json_decode()
函数将 JSON 字符串转换为 PHP 对象或关联数组。// 将 JSON 数据解码为 PHP 对象 $data_object = json_decode($json_data); // 将 JSON 数据解码为关联数组 $data_array = json_decode($json_data, true);
处理解码后的数据:
现在您可以像处理普通 PHP 对象或关联数组一样处理解码后的数据。
示例:
if (json_last_error() === JSON_ERROR_NONE) { if (is_object($data_object)) { echo "Name: " . $data_object->name . "\n"; echo "Email: " . $data_object->email . "\n"; } elseif (is_array($data_array)) { echo "Name: " . $data_array['name'] . "\n"; echo "Email: " . $data_array['email'] . "\n"; } } else { echo "Invalid JSON data."; }
完整示例:
<?php $json_data = file_get_contents('php://input'); $data_object = json_decode($json_data); $data_array = json_decode($json_data, true); if (json_last_error() === JSON_ERROR_NONE) { if (is_object($data_object)) { echo "Name: " . $data_object->name . "\n"; echo "Email: " . $data_object->email . "\n"; } elseif (is_array($data_array)) { echo "Name: " . $data_array['name'] . "\n"; echo "Email: " . $data_array['email'] . "\n"; } } else { echo "Invalid JSON data."; } ?>
这个示例展示了如何在 PHP 中处理 application/json
数据。首先,从输入流中读取 JSON 数据,然后将其解码为 PHP 对象或关联数组。最后,根据解码后的数据类型(对象或数组)处理数据。