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

PHP解析JSON数据:获取指定ID账户的availableBalance

PHP提取Mercury API指定账户可用余额的解决方法

先处理JSON解析

把API返回的JSON字符串转成PHP关联数组(比对象操作更直观):

// $apiResponse 是你从Mercury API获取到的原始JSON响应内容
$accountData = json_decode($apiResponse, true);

遍历匹配目标账户

循环账户列表,找到指定ID的账户后提取availableBalance:

$targetAccountId = '7bf48dba-ef2a-11ed-b8b4-efdca6c6aba7';
$availableBalance = null;

// 先判断accounts数组是否存在,避免触发报错
if (isset($accountData['accounts']) && is_array($accountData['accounts'])) {
    foreach ($accountData['accounts'] as $account) {
        // 严格匹配账户ID
        if ($account['id'] === $targetAccountId) {
            $availableBalance = $account['availableBalance'];
            break; // 找到目标后立即退出循环,提升效率
        }
    }
}

// 输出结果
if ($availableBalance !== null) {
    echo "目标账户可用余额:{$availableBalance}";
} else {
    echo "未找到ID为{$targetAccountId}的账户";
}

兼容对象解析的写法

如果之前是用对象方式解析(未给json_decode传第二个参数),代码调整为:

$accountData = json_decode($apiResponse);
$targetAccountId = '7bf48dba-ef2a-11ed-b8b4-efdca6c6aba7';
$availableBalance = null;

if (isset($accountData->accounts) && is_array($accountData->accounts)) {
    foreach ($accountData->accounts as $account) {
        if ($account->id === $targetAccountId) {
            $availableBalance = $account->availableBalance;
            break;
        }
    }
}

常见排查点

  • 用var_dump($accountData)打印解析后的数据,确认账户列表的键名是否为accounts(部分API可能用data或items)
  • 检查目标ID的字符是否完全一致,包括连字符、大小写,ID是字符串必须严格匹配
  • 确认API返回的JSON格式无语法错误,可通过在线JSON校验工具验证

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 02:10:08