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

PHP解析JSON请求时无法获取visits->confidence->score值求助

解析JSON时无法获取visits->confidence->score值的问题解决办法

问题核心在于**visits是数组类型**,你直接用对象属性的方式访问是错误的。观察你的JSON结构,visits被[]包裹,说明它是一个数组,内部包含单条访问记录对象。

你原代码的错误点:

echo $json->visits->confidence->score;

这段代码把数组visits当成对象来访问,自然无法获取到值,必须先通过索引获取数组内的元素,再访问对应属性。

修改后的代码

<?php
$url="https://api.fpjs.io/visitors/s22jsdjjj24?api_key=asdkjk232asdk&limit=1";
$data=file_get_contents($url);

// 检查API请求是否成功
if ($data === false) {
    die("无法获取API数据");
}

$json=json_decode($data);

// 检查JSON解析结果,以及visits数组是否有效
if ($json === null || !isset($json->visits) || empty($json->visits)) {
    die("JSON解析失败或无有效访问记录");
}

// 通过数组索引获取第一条访问记录,再读取score值
echo $json->visits[0]->confidence->score;
?>

关键细节说明

  • $json->visits[0]:因为visits是数组,即使仅包含一条记录,也需要用索引[0]定位到具体的访问对象
  • 新增错误检查:避免接口请求失败、JSON解析出错或visits为空时触发致命报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 19:54:51