PHP调用GET接口用json_decode解析后报Undefined Index错误如何解决
问题排查结果
该报错与CURLOPT_CUSTOMREQUEST => "GET"配置无关,是接口返回的JSON结构导致的:
你拿到的响应JSON最外层是索引数组格式(开头字符为[而非{),调用json_decode($response, true)后得到的$info是一个二维数组,包含车辆信息的关联数组是$info的第一个元素。你直接读取$info['registration']相当于在索引数组中查找不存在的字符串键,因此触发Undefined Index报错。
修复代码
$info = json_decode($response, true); // 先校验返回结果非空,避免无匹配数据时出现报错 if (!empty($info)) { echo $info[0]['registration']; }
之前POST接口正常的原因
你之前对接的POST接口返回的JSON最外层直接是关联对象结构,没有被索引数组包裹,因此可以直接通过键名读取对应值,该差异和请求方式没有任何关联。
内容的提问来源于stack exchange,提问作者API-heartache
相关产品推荐
相关产品推荐

