有人可以帮我用PHP解析这个JSON API吗?我需要检索货币汇率。
http://query.yahooapis.com/v1/public/yql?q=select%20 *%20from%20yahoo.finance.xchange%20where%20pair%3D%22eurusd%22安培;格式= JSON&安培;诊断=真安培; ENV =商店%3A%2F%2Fdatatables.org%2Falltableswithkeys&安培;回调= cbfunc
答案 0 :(得分:1)
首先,您需要省略网址中的最后一个参数,只需删除&callback=cbfunc
。
获取内容的PHP代码是:
$rawData = file_get_contents("... your url ...");
$parsedData = json_decode($rawData);
$parsedData
现在将包含嵌套对象结构中的内容。
您需要为此启用fopen包装器才能工作。如果未启用它们,只需使用cURL从页面加载内容并将其放入json_decode
。
答案 1 :(得分:1)
以下是一个函数,您可以使用相应的3个字符的货币代码(即“USD”到“GBP”)将货币转换为另一种货币。
<?php
function convertCurrencyUnit($from_Currency, $to_Currency, $unit_amount = 1) {
$url = 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%3D%22' . $from_Currency . $to_Currency . '%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys';
$rawdata = file_get_contents($url);
$decodedArray = json_decode($rawdata, true);
$converted_unit_amount = $decodedArray['query']['results']['rate']['Rate'];
return $converted_unit_amount * $unit_amount;
}
?>
例如,请参阅以下对此函数的简单调用。
<?php
echo convertCurrencyUnit("USD", "GBP"); //Prints "0.5953" to the browser. The current conversion rate from US Dollar to British Pound as of 04-16-2014.
?>
此外,您可以将可选的第三个参数传递给函数,以便在转换完成后进行简单的乘法。