在 PHP 中使用 api 响应数据

我正在使用从欧洲银行获取最新汇率的 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

  }

}

所有这些都很好。


但是,我想做的是自己掌握费率并将它们呈现在一个简单的表格中。


我试过 json_decode $rsp 并且我得到了


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


长风秋雁
浏览 105回答 3
3回答

白猪掌柜的

$lookup = new ExchangeRatesAPI();$rsp  = $lookup->setBaseCurrency('GBP')->fetch();dd(json_decode($rsp->getRates());方法 getRates() 将以数组形式返回费率 - 有关ExchangeRatesAPI 的更多信息 - 响应

FFIVE

已经$rsp包含一个对象。所以你不能再次解码它。为了获得利率dd($rsp->rates);

MMMHUHU

你可以做:$rates = $rsp->getRates();并通过费率循环。BenMajor\ExchangeRatesAPI\Response的来源:https ://github.com/benmajor/ExchangeRatesAPI/blob/master/src/Response.php
打开App,查看更多内容
随时随地看视频慕课网APP