使用卷曲解码和回声一个RESTful API响应
问题描述:
我想简单地采取从这个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;
?>
答
您的代码有效。但是你必须检查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->最后”
答
$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