You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP使用json_decode解析后获取OPT属性报错问题求助

问题:解析CURL响应获取OPT值时报错

我尝试用以下代码将CURL响应存入变量并解析,获取其中的OPT值:

$curl_response = '[OPT: value]';
$obj = json_decode($curl_response);
print_r( $obj->OPT);

但执行时出现错误,报错信息如下:

stdClass Object ( [MSISDN] => 03142985338 [OPT] => 161 [ResponceCode] => 0020 [ResponceMessage] => Success )
Notice: Trying to get property 'OPT' of non-object 

问题原因及解决方法

1. 测试代码的JSON格式错误

你测试用的$curl_response = '[OPT: value]';不是合法的JSON格式,JSON要求键值对必须用双引号包裹,正确格式应为{"OPT":"value"}。如果是测试场景,先把测试数据改成标准JSON格式。

2. 实际CURL响应存在解析异常

从报错里的stdClass Object来看,实际返回的内容是合法对象,但json_decode却返回了非对象(大概率是null),说明实际的CURL响应可能包含多余字符(比如空格、换行、无关前缀标识等),导致解析失败。

解决步骤:

  • 先打印原始响应内容,确认是否存在多余字符:
    var_dump($curl_response);
    
  • 清理响应内容,比如去除前后空白字符:
    $clean_response = trim($curl_response);
    $obj = json_decode($clean_response);
    
  • 增加解析失败的判断逻辑,避免报错:
    $obj = json_decode($curl_response);
    if ($obj !== null && property_exists($obj, 'OPT')) {
        print_r($obj->OPT);
    } else {
        // 输出解析错误原因
        echo 'JSON解析失败:' . json_last_error_msg();
    }
    

内容的提问来源于stack exchange,提问作者user20405408

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 11:55:20