微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

检索 JSON 值错误未定义偏移量:0

如何解决检索 JSON 值错误未定义偏移量:0

一段时间以来,我一直很难从 Json url 中检索 eth 值,它不断向任何给出答案的人返回错误“未定义偏移:0”,因为它可能很容易,请考虑我是学习者和即将到来的。我的代码如下

$ethjs = "https://api.coingecko.com/api/v3/simple/token_price/ethereum?contract_addresses=0xdac17f958d2ee523a2206206994597c13d831ec7&vs_currencies=eth";
$ejson = file_get_contents($ethjs);
$ejson = json_decode($ejson,true);
$one_eth = $ejson[0]->eth;

解决方法

来自 url 的响应类似于

// https://api.coingecko.com/api/v3/simple/token_price/ethereum?contract_addresses=0xdac17f958d2ee523a2206206994597c13d831ec7&vs_currencies=eth
{
    "0xdac17f958d2ee523a2206206994597c13d831ec7": {
        "eth": 0.0003859
    }
}

上面输出的一些东西

  • 没有 [0],因为您正在尝试提取
  • 因为这似乎是支持异构数组的 PHP,所以您需要通过在 url 中传递的 contract_address 参数的值来访问它,因为它是结果对象中的 key

把它放在一起。

$ethjs = "https://api.coingecko.com/api/v3/simple/token_price/ethereum?contract_addresses=0xdac17f958d2ee523a2206206994597c13d831ec7&vs_currencies=eth";
$ejson = file_get_contents($ethjs);
$ejson = json_decode($ejson,true);
$one_eth = $ejson['0xdac17f958d2ee523a2206206994597c13d831ec7']['eth'];
echo $one_eth;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。