在 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 对象或关联数组。最后,根据解码后的数据类型(对象或数组)处理数据。


