使用 PHP 中的 API 响应数据。

huangapple go评论79阅读模式
英文:

using api response data in PHP

问题

Here is the translated code snippet:

我正在使用一个Laravel包,该包从欧洲银行获取最新的汇率。

当我调用

$lookup = new ExchangeRatesAPI();
$rsp = $lookup->setBaseCurrency('GBP')->fetch();


我得到

BenMajor\ExchangeRatesAPI\Response {#571 ▼
-response: GuzzleHttp\Psr7\Response {#566 ▶}
-headers: array:15 [▶]
-bodyRaw: "{"rates":{"CAD":1.7151176498,"HKD":10.279978309,"ISK":161.385391616,"PHP":66.9884943651,"DKK":8.8082944311,"HUF":388.9989154524,"CZK":29.9559107842,"GBP":1.0,"R ▶"
-body: {#554 ▶}
-statusCode: 200
-timestamp: "2020-01-03T09:22:49+00:00"
-baseCurrency: "GBP"
-rates: {#569 ▼
+"CAD": 1.7151176498
+"HKD": 10.279978309
+"ISK": 161.385391616
+"PHP": 66.9884943651
+"DKK": 8.8082944311
+"HUF": 388.9989154524
+"CZK": 29.9559107842
+"GBP": 1.0
+"RON": 5.638232659
+"SEK": 12.3459235158
+"IDR": 18320.507379639
+"INR": 94.1982600085
+"BRL": 5.289527043
+"RUB": 81.564224077
+"HRK": 8.7759937756
+"JPY": 143.5257226388
+"THB": 39.7757815816
+"CHF": 1.2808270854
+"EUR": 1.1788560381
+"MYR": 5.3949167728
+"BGN": 2.3056066393
+"TRY": 7.8628518885
+"CNY": 9.1887112746
+"NOK": 11.6008864997
+"NZD": 1.9708115245
+"ZAR": 18.5665110577
+"USD": 1.3194935634
+"MXN": 24.9190125902
+"SGD": 1.7781864479
+"AUD": 1.8868769746
+"ILS": 4.5609940114
+"KRW": 1530.4380629038
+"PLN": 5.0153251285
}
}


这一切都没问题。

然而,我想做的是获取这些汇率本身,并将它们呈现在一个简单的表格中。

我尝试了对 $rsp 进行 json_decode,但我得到了以下错误:

> json_decode() 期望参数 1 是字符串,但给定了对象

英文:

I am using a Laravel package that gets the latest exchange rates from the European Bank.

When I call

$lookup = new ExchangeRatesAPI();
$rsp  = $lookup->setBaseCurrency('GBP')->fetch();

I get

BenMajor\ExchangeRatesAPI\Response {#571 ▼
  -response: GuzzleHttp\Psr7\Response {#566 ▶}
  -headers: array:15 [▶]
  -bodyRaw: "{"rates":{"CAD":1.7151176498,"HKD":10.279978309,"ISK":161.385391616,"PHP":66.9884943651,"DKK":8.8082944311,"HUF":388.9989154524,"CZK":29.9559107842,"GBP":1.0,"R ▶"
  -body: {#554 ▶}
  -statusCode: 200
  -timestamp: "2020-01-03T09:22:49+00:00"
  -baseCurrency: "GBP"
  -rates: {#569 ▼
    +"CAD": 1.7151176498
    +"HKD": 10.279978309
    +"ISK": 161.385391616
    +"PHP": 66.9884943651
    +"DKK": 8.8082944311
    +"HUF": 388.9989154524
    +"CZK": 29.9559107842
    +"GBP": 1.0
    +"RON": 5.638232659
    +"SEK": 12.3459235158
    +"IDR": 18320.507379639
    +"INR": 94.1982600085
    +"BRL": 5.289527043
    +"RUB": 81.564224077
    +"HRK": 8.7759937756
    +"JPY": 143.5257226388
    +"THB": 39.7757815816
    +"CHF": 1.2808270854
    +"EUR": 1.1788560381
    +"MYR": 5.3949167728
    +"BGN": 2.3056066393
    +"TRY": 7.8628518885
    +"CNY": 9.1887112746
    +"NOK": 11.6008864997
    +"NZD": 1.9708115245
    +"ZAR": 18.5665110577
    +"USD": 1.3194935634
    +"MXN": 24.9190125902
    +"SGD": 1.7781864479
    +"AUD": 1.8868769746
    +"ILS": 4.5609940114
    +"KRW": 1530.4380629038
    +"PLN": 5.0153251285
  }
}

All of which is fine.

However what I want to do is to get hold the rates themselves and present them in a simple table.

I have tried to json_decode $rsp and I get
>json_decode() expects parameter 1 to be string, object given

答案1

得分: 1

已经 $rsp 包含一个对象。因此,您不能再次解码它。
要获取汇率

dd($rsp->rates);
英文:

Already $rsp contains an object. So you cant decode it again.
For getting the rates

dd($rsp->rates);

答案2

得分: 1

$lookup = new ExchangeRatesAPI();
$rsp = $lookup->setBaseCurrency('GBP')->fetch();
dd(json_decode($rsp->getRates()));

方法 getRates() 将返回汇率信息的数组 - 更多信息请参阅 ExchangeRatesAPI - 响应文档

英文:
$lookup = new ExchangeRatesAPI();
$rsp  = $lookup->setBaseCurrency('GBP')->fetch();
dd(json_decode($rsp->getRates());

method getRates() will return rates as array - more on ExchangeRatesAPI - response

答案3

得分: 0

你可以执行以下操作:

$rates = $rsp->getRates();

然后通过循环遍历汇率。

BenMajor\ExchangeRatesAPI\Response 的源代码可在以下链接找到:https://github.com/benmajor/ExchangeRatesAPI/blob/master/src/Response.php

英文:

you can do:

$rates = $rsp->getRates();

And a loop through the rates.

Source of BenMajor\ExchangeRatesAPI\Response: https://github.com/benmajor/ExchangeRatesAPI/blob/master/src/Response.php

huangapple
  • 本文由 发表于 2020年1月3日 17:47:39
  • 转载请务必保留本文链接:https://go.coder-hub.com/59576292.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定