通过 PHP 从 URL 获取 JSON

问题描述 投票:0回答:2

我有一个返回 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" : "$"},
}

网址:https://blockchain.info/ticker 更多信息:https://blockchain.info/api/exchange_rates_api

我想从第一行获取所有数据并回显它,并让它继续请求它,以便它处于活动状态

我已经使用了 git hub 上的示例 https://github.com/blockchain/api-v1-client-php/blob/master/docs/rates.md 但它显示了所有数据输出,您必须刷新它才能更新

请有人指出我正确的方向

理想情况下我最终会得到类似的东西 15 m 最后买入卖出 美元 ($) 7794.87 7794.87 7795.72 7794.02

我有表格和数据进入表格,但它回显整个数据集而不是第一行,而且我不知道如何选择单个字段

如何通过 PHP 实现?

php json get
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

© www.soinside.com 2019 - 2024. All rights reserved.