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

PHP提取Dogecoin地址余额JSON数据失败求助

解决Dogecoin地址余额API提取无输出问题

首先,咱们先揪出你代码里最显眼的错误——你用了一个根本不存在的json()函数来取余额!咱们已经用json_decode把API返回的JSON转成关联数组了,直接从数组里按键取值就好啦。

修正后的可运行代码

<?php
$url = "https://dogechain.info/api/v1/address/balance/DMr3fEiVrPWFpoCWS958zNtqgnFb7QWn9D";
// 先获取API返回的原始数据
$response = file_get_contents($url);

// 第一步:检查是否成功拿到API响应
if ($response === false) {
    die("无法连接到API,请检查网络或URL正确性");
}

// 把JSON转成PHP关联数组
$json = json_decode($response, true);

// 第二步:验证数据有效性
if ($json === null || !isset($json['success']) || $json['success'] != 1 || !isset($json['balance'])) {
    die("API数据解析失败或返回格式异常");
}

// 正确提取balance字段
$balance = $json['balance'];
echo "当前Dogecoin余额: " . $balance;
?>

详细说明问题点和优化项

  • 核心语法错误修正:把错误的json("balance")改成$json['balance'],因为json_decode(..., true)返回的是关联数组,直接通过键名访问对应值即可。
  • 新增错误处理逻辑:
    • 先判断file_get_contents是否成功获取到响应,避免后续操作空数据导致静默失败。
    • 检查json_decode是否成功(如果JSON格式错误会返回null),同时验证API返回的success状态,确保拿到的是有效数据。
  • 兼容禁用allow_url_fopen的环境:如果你的PHP服务器禁用了allow_url_fopen,file_get_contents无法访问外部URL,这时候可以改用cURL请求,示例代码如下:
<?php
$url = "https://dogechain.info/api/v1/address/balance/DMr3fEiVrPWFpoCWS958zNtqgnFb7QWn9D";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

if ($response === false) {
    die("cURL请求API失败");
}

$json = json_decode($response, true);
if ($json === null || !isset($json['success']) || $json['success'] != 1 || !isset($json['balance'])) {
    die("API数据解析失败");
}

$balance = $json['balance'];
echo "当前Dogecoin余额: " . $balance;
?>

这样修改后,不仅能正确提取余额,还能在出现问题时给出明确的错误提示,方便你排查问题~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:23:36