为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel:解析 JSON 以查看

Laravel:解析 JSON 以查看

PHP
摇曳的蔷薇 2022-11-04 17:07:40
我正在尝试显示来自此https://pomber.github.io/covid19/timeseries.json的 JSON 数据,但出现错误:(ErrorException(code: 0): Undefined index: confirmed我期望的是我可以显示国家名称列表以及日期、确认等。这是我的看法:@foreach($results as $json_d)  {{ $json_d['date'] }}  {{ $json_d['confirmed'] }}  {{ $json_d['deaths'] }}  {{ $json_d['recovered'] }}@endforeach这是我的控制器:$client = new Client();$request = $client->get('https://pomber.github.io/covid19/timeseries.json');$response = $request->getBody()->getContents();$results = json_decode($response, true);return view('dashboard', compact('results'));任何帮助,将不胜感激 :)
查看完整描述

2 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

那是因为您必须将其作为nested for. 作为 Dino 的答案,但有获得国家密钥的方法。


  @foreach($results as $key => $val)

      Data for the country: {{ $key }}

    @foreach(((array)$results)[$key] as $data)

        {{ $data['date'] }}

        {{ $data['confirmed'] }}

        {{ $data['deaths'] }}

        {{ $data['recovered'] }}

    @endforeach

  @endforeach


查看完整回答
反对 回复 2022-11-04
?
临摹微笑

TA贡献1982条经验 获得超2个赞

您使用 Guzzle 获得的结果是国家/地区列表


dd($results);


array:152 [▼

  "Thailand" => array:57 [▶]

  "Japan" => array:57 [▶]

  "Singapore" => array:57 [▶]

  "Nepal" => array:57 [▶]

  "Malaysia" => array:57 [▶]

  "Canada" => array:57 [▶]

  "Australia" => array:57 [▶]

  "Cambodia" => array:57 [▶]

  "Sri Lanka" => array:57 [▶]

  "Germany" => array:57 [▶]

  "Finland" => array:57 [▶]

  ...

这意味着您需要另一个循环


@foreach($results as $countryData)

   @foreach($countryData as $data)

       {{ $data['date'] }}

       {{ $data['confirmed'] }}

       {{ $data['deaths'] }}

       {{ $data['recovered'] }}

   @endforeach

@endforeach


查看完整回答
反对 回复 2022-11-04
  • 2 回答
  • 0 关注
  • 145 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号