我需要一些帮助才能访问api。 http://market.huobi.com/staticmarket/detail.html 用PHP。
$json = file_get_contents("http://market.huobi.com/staticmarket/detail.html");
$obj = json_decode($json);
以下是api响应的一小部分样本。
$obj =
{
"sells": [
{
"price": 3840,
"level": 0,
"amount": 1
},
{
"price": "3840.05",
"level": 0,
"amount": 0.287
},
{
"price": 3841,
"level": 0,
"amount": 0.1
} ],
"p_new": 3838,
"level": -72.12,
"amount": 82792,
"total": 321774060.34653,
"amp": -2,
"p_open": 3910.12,
"p_high": 3925,
"p_low": 3809.99,
"p_last": 3910.12
}
echo "Ask " . $obj->sells[0]->price; // does not work
echo "Volume" . $obj->amount;// does not work
帮助将不胜感激。
答案 0 :(得分:1)
您正在调用的API是返回JSONP数据,而不是JSON数据。
JSONP数据如下:
somefunction(JSONdata)
您需要删除函数调用包装器。
$jsonp = file_get_contents("http://market.huobi.com/staticmarket/detail.html");
preg_match('/^.*?\((.*)\)/s', $jsonp, $match);
$json = $match[1];
$obj = json_decode($json);
echo "Ask " . $obj->sells[0]->price . '<br>';
echo "Volume " . $obj->amount;