PHP如何访问IMEI.org返回的JSON响应中的变量?
正确解析IMEI接口JSON响应的方法
先明确你拿到的JSON结构:status是根级字段,response是包含设备信息的对象,不存在services数组,你之前的代码路径完全错误,同时字段名的大小写和层级也搞错了。
错误点梳理
$characters->imei:IMEI字段在response对象内,且JSON里是大写的IMEI,不是小写$characters->response->services[1]->name:返回的JSON中根本没有services这个数组,属于无效路径
正确的访问方式
方式1:对象形式访问(默认json_decode返回对象)
$data = file_get_contents($url); // 先判断解析是否成功 $characters = json_decode($data); if ($characters === null) { die('JSON解析失败'); } // 访问根级status echo $characters->status; // 访问response里的Model echo $characters->response->Model; // 访问IMEI echo $characters->response->IMEI; // 访问Simlock echo $characters->response->Simlock; // 访问带空格的Serial Number字段,需用大括号包裹 echo $characters->response->{'Serial Number'};
方式2:关联数组形式访问(json_decode第二个参数传true)
如果习惯用数组操作,可以转成关联数组:
$data = file_get_contents($url); $characters = json_decode($data, true); if (!is_array($characters)) { die('JSON解析失败'); } echo $characters['status']; echo $characters['response']['Model']; echo $characters['response']['IMEI']; echo $characters['response']['Simlock']; echo $characters['response']['Serial Number'];
内容的提问来源于stack exchange,提问作者Donald
相关产品推荐
相关产品推荐

