使用PHP从URL获取JSON

3
我有一个返回以下JSON对象的URL:
{ "USD" : {"15m" : 7809.0, "last" : 7809.0, "buy" : 7809.85, "sell" : 7808.15, "symbol" : "$"}, "AUD" : {"15m" : 10321.42, "last" : 10321.42, "buy" : 10322.54, "sell" : 10320.3, "symbol" : "$"}, }
URL:https://blockchain.info/ticker 更多信息:https://blockchain.info/api/exchange_rates_api 我想获取第一行的所有数据并输出它,并让它保持请求以使其实时更新。
我已经在GitHub上使用了示例,但它显示所有数据输出,您必须刷新才能获得更新。https://github.com/blockchain/api-v1-client-php/blob/master/docs/rates.md 请问有人能指点我正确的方向吗?
理想情况下,我希望得到类似如下的东西: 15 m 最新价 买入价 卖出价 USD ($) 7794.87 7794.87 7795.72 7794.02
我已经将表格和数据传递到了表格中,但它会输出整个数据集而不是第一行,而且我也不知道如何选择单独的字段。
我该如何通过PHP实现呢?

我建议使用Threadfile_get_contents。希望能对你有所帮助!-CM OF-c-001-r2 - undefined
2个回答

9
您需要的是一个请求PHP页面,它将实现以下功能:

1 - 从网站获取数据:

$data = file_get_contents('https://blockchain.info/ticker');

2 - 解码JSON

$decodedData = json_decode($data);

3 - 在这里,您可以使用OOP访问它:

var_dump($decodedData->USD);

在此,我们的目标是按照您的意愿检索数据,您可以将其与HTML混合在一起,例如在表格中。
接下来,您需要一个JS脚本,每隔几毫秒执行一次setInterval函数。该函数应向您之前创建的PHP页面发出请求,获取数据并使用更新后的数据进行更改。

1
这应该可以做到:

 <?
    $seconds = 5;
    function get_live_quote($key){
        $json_string = file_get_contents('https://blockchain.info/ticker');
        $json_array = json_decode($json_string, TRUE);
        $quote = $json_array[$key];
        $keys = implode(" ",array_keys($quote));
        $values = implode(" ", array_values ($quote));
        return "$keys $values \n";
    }


    while(TRUE){
        echo get_live_quote("USD");
        sleep($seconds);
    }

将前面的代码保存到一个名为“quote.php”的文件中。然后从终端运行:php quote.php


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接