Конвертация валют JSON API парсинг с PHP - PullRequest
0 голосов
/ 23 февраля 2012

Может ли кто-нибудь помочь мне разобрать этот JSON API с PHP?Мне нужно получить курс обмена валют.

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%3D%22eurusd%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=cbfunc

Ответы [ 2 ]

1 голос
/ 17 апреля 2014

Вот функция, которую вы можете использовать для конвертации валюты в другую валюту, используя соответствующие коды валют из 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.

?>

Кроме того, вы можете передать необязательный третий параметр в функцию для простого умножения после того, как преобразование выполнено.

1 голос
/ 23 февраля 2012

Сначала вам нужно пропустить последний параметр в URL, просто удалите &callback=cbfunc.

Код PHP для извлечения контента:теперь содержат содержимое в структуре вложенных объектов.

Дополнительная информация

Вам нужно включить упаковщики fopen, чтобы это работало.Если они не включены, просто используйте cURL, чтобы загрузить контент со страницы и поместить его в json_decode.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...