首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >得不到coingecko API的信息

得不到coingecko API的信息
EN

Stack Overflow用户
提问于 2019-04-13 09:24:10
回答 2查看 517关注 0票数 0

我要把这辆回购WooCommerce-Plugin分叉,工作得很好。但是,当更改API以获取其他站点的价格时,而不是更新

我尝试了一些不同的API链接,并做了相同的。原始代码获取他的私有API的信息,我想使用其他的公共API。

使用原始代码,API将显示以下信息:

代码语言:javascript
复制
{"status" : "success" , "message" : "null", "ptc_btc" : "0.00000083", "btc_usd" : "5070.29", "btc_eur" : "4505.46", "supply" : "138188628.56442260", "ptc_eur" : "0.00373953", "ptc_usd" : "0.00420834" , "date" : "2019-04-13 10:20:07"}

并在购物车中获取API的"ptc_eur“。现在,我希望使用其他站点currencies=eur的新API,而不是显示以下信息:

代码语言:javascript
复制
{"reecore":{"eur":0.0046564}}

我只想使用"eur“数据,和原始代码一样使用"ptc_eur”,但不起作用。对不起我的英语。

原始代码:

代码语言:javascript
复制
        //precio en PesetaCoins
global $woocommerce;
$euros= $woocommerce->cart->total;  
    $xaxa= "http://nodos.pesetacoin.info/api/api.php";
    $data = file_get_contents($xaxa);
$pesetas = json_decode($data, true);
    $valor_ptc= $pesetas['ptc_eur'];
        $ptc= $euros/$valor_ptc;
        $ptc= round($ptc, 2);
//precio en PesetaCoins

    $pagos= array();

        $metodo= $order->get_payment_method();

                        $i = -1;
                        foreach ( $this->account_details as $account ) {
                                $i++;
                            $pagos[$i]=     
                                $pagos[$i]= esc_attr( wp_unslash( $account['hash_name'] ) );
                        }

$cont= rand(0, $i);

        if($metodo == "ptc") {
        $description= "<span style='font-size:14px'>Para completar el pedido, debe enviar la cantidad <b>".$ptc."</b> de Pesetacoin a la siguiente dirección: <b>";
        $description.= $pagos[$cont];
        $description.="</b><br>Una vez se reciba la transacción se enviará el pedido.</span>";
        echo wpautop(wptexturize($description));


        }


    }

新代码:

代码语言:javascript
复制
        //precio en ReecoreCoins
global $woocommerce;
$euros= $woocommerce->cart->total;  
    $xaxa= "https://api.coingecko.com/api/v3/simple/price?ids=reecore&vs_currencies=eur";
    $data = file_get_contents($xaxa);
$pesetas = json_decode($data, true);
    $valor_reex= $pesetas['eur'];
        $reex= $euros/$valor_reex;
        $reex= round($reex, 2);
//precio en ReecoreCoins

    $pagos= array();

        $metodo= $order->get_payment_method();

                        $i = -1;
                        foreach ( $this->account_details as $account ) {
                                $i++;
                            $pagos[$i]=     
                                $pagos[$i]= esc_attr( wp_unslash( $account['hash_name'] ) );
                        }

$cont= rand(0, $i);

        if($metodo == "reex") {
        $description= "<span style='font-size:14px'>Para completar el pedido, debe enviar la cantidad <b>".$reex."</b> de Reecorecoin a la siguiente dirección: <b>";
        $description.= $pagos[$cont];
        $description.="</b><br>Una vez se reciba la transacción se enviará el pedido.</span>";
        echo wpautop(wptexturize($description));


        }


    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-13 10:06:51

新API返回一个嵌套的JSON对象,在该对象中,您需要两个步骤来访问所需的值:

代码语言:javascript
复制
$valor_reex= $pesetas['reecore']['eur'];
票数 0
EN

Stack Overflow用户

发布于 2021-11-10 17:31:32

这是因为现在的Coingecko返回一个嵌套的JSON,它只是一个JSON文件,其值的很大一部分是其他JSON对象。

简单 JSON相比,嵌套 JSON提供了更清晰的,因为它将对象解耦成不同的层,从而使其更易于维护。

使用短语,键将通过用点分隔级别来存储。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55663949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档