2017-09-23 118 views
0

我想简单地采取从这个API显示来自“最后”的数据: https://bittrex.com/api/v1.1/public/getticker?market=usdt-btc使用卷曲解码和回声一个RESTful API响应

这里是我到目前为止,但它没有返回任何东西。我不是一个有经验的开发人员,并且从几个不同的来源拼凑出这些代码。任何帮助是极大的赞赏。

<?php 

$service_url = 'https://bittrex.com/api/v1.1/public/getticker?market=usdt-btc'; 
$curl = curl_init($service_url); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
$curl_response = curl_exec($curl); 
$decoded = json_decode($curl_response); 

echo $decoded->Last; 

?> 

回答

1

您的代码有效。但是你必须检查JSON响应是否正确。如果你想得到“最后”,你首先必须得到结果。

这是JSON解码从您的代码响应:

object(stdClass)#1 (3) { 
    ["success"]=> 
    bool(true) 
    ["message"]=> 
    string(0) "" 
    ["result"]=> 
    object(stdClass)#2 (3) { 
    ["Bid"]=> 
    float(3760) 
    ["Ask"]=> 
    float(3765) 
    ["Last"]=> 
    float(3765) 
    } 
} 

所以,你将不得不回声 “$ decoded-> result->最后”

0

$decoded回报标准的对象,所以你不能直接打印使用回声。如果您打印解码的可变然后

<?php 
$service_url = 'https://bittrex.com/api/v1.1/public/getticker?market=usdt-btc'; 
$curl = curl_init($service_url); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
$curl_response = curl_exec($curl); 
$decoded = json_decode($curl_response); 

echo "<pre>"; 
print_r($decoded); 

?> 

结果:

stdClass Object 
(
    [success] => 1 
    [message] => 
    [result] => stdClass Object 
     (
      [Bid] => 3741.5957385 
      [Ask] => 3745 
      [Last] => 3745 
     ) 

) 

这样你就可以访问

echo $decoded->success; //return 1 
echo $decoded->result->Bid; //3741