首页 > 文章列表 > PHP中如何从HTTP GET请求返回的JSON字符串中提取statusCode的值?

PHP中如何从HTTP GET请求返回的JSON字符串中提取statusCode的值?

437 2025-01-16

PHP中如何从HTTP GET请求返回的JSON字符串中提取statusCode的值?

从 json 字符串中提取值

要从通过 http get 请求返回的 json 字符串中提取值,需要使用适当的函数对字符串进行解析。

问题

给定以下 json 字符串:

{
    "headers": {
        "content-type": ["application/json;charset=utf-8"],
        "content-length": ["110"]
    },
    "statuscode": 200
}

使用 php 中的 json_encode 函数对该字符串进行编码后,如何提取 statuscode 的值?

错误尝试

使用 json_encode 进行编码并试图获取值:

<?php
$json = json_encode(// 此处插入返回的 json 字符串);
echo $json['statuscode']; // 导致错误
?>

这会导致 "500 错误:无法访问字符串类型的偏移" 的错误。

解决方案

要正确提取值,需要使用 json_decode 函数将字符串转换为 php 对象或数组:

<?php
$json = json_decode(// 此处插入返回的 JSON 字符串);
echo $json->statusCode; // 返回正确的值
?>

json_decode 会将 json 字符串转换为一个对象,从而允许使用点号语法访问属性(例如 $json->statuscode)。

来源:1733139812