在视图上显示Json数据(LARAVEL)

时间:2016-09-19 08:45:57

标签: php json laravel-5

我在laravel项目中工作,我想将我的json数据从url显示到视图dashboard.blade,这是示例json数据:

  

{"响应" {"导致" {"联系和#34; {"排":[{"否#34;:" 1"" FL":[{" VAL":"使用ContactID""内容" :" 144120000000079041"},{" VAL":"第一   名称""内容":"塔塔"},{" VAL":"最后   名称""内容":"雷尔"},{" VAL":"电子邮件""内容&#34 ;:" nyereredaniel@gmail.com"},{" VAL":"帐户   名称""内容":"空"},{" VAL":"电话""内容&#34 ;:" 255652400670"},{" VAL":"移动""内容":"空"}] },{"无":" 2"" FL":[{" VAL":"使用ContactID&#34 ;, "内容":" 144120000000069001"},{" VAL":"第一   名称""内容":"丹尼尔"},{" VAL":"尾   名称""内容":"雷尔"},{" VAL":"电子邮件""内容&#34 ;:" nyereredaniel@hotmail.com"},{" VAL":"帐户   名称""内容":"空"},{" VAL":"电话""内容&#34 ;:" 255754897505"},{" VAL":"移动""内容":"空"}] },{"无":" 3"" FL":[{" VAL":"使用ContactID&#34 ;, "内容":" 144120000000065068"},{" VAL":"第一   名称""内容":"劳伦斯"},{" VAL":"最后   名称""内容":"百会"},{" VAL":"电子邮件""内容&#34 ;:" support@zohosupport.com"},{" VAL":" ACCOUNTID""内容":" 144120000000065066&# 34;},{" VAL":"帐户   名称""内容":"百会"},{" VAL":"电话""内容&#34 ;:" 1 888 900   9646"},{" VAL":"移动""内容":"空"}]}]}},& #34; URI":" / API / JSON /联系人/ getrecords"}}

这是我的Controller方法:

 public function getDashboard()
{
    $url      = "MY URL IS HERE";
    $json     = file_get_contents($url);
    $json     = json_decode($json, true);
    $response = $json['response'];
    $result   = $response['result'];
    $contact  = $result['Contacts'];
    $data     = $contact['row'];
    return view('dashboard')->with('posts', $data);
}

这是我的dashboard.blade,它在我的视图页面上显示json数据:

       @foreach($posts as $post)
            @foreach($post['fl'] as $row)
                <article class="post">
                    @if($row['val'] == 'First Name')
                       First Name: {{ $row['content'] }}
                    @endif
                </article>
            @endforeach
        @endforeach

任何人都可以帮助我解决这个问题以及如何在dashboard.blade文件中编写foreach,因为我想在我的视图中显示数据:

First Name    Last Name     Phone:
Tata          Nyerere       255754897505

现在只显示

First Name: Tata

请帮助我,因为我花时间来解决这个问题 我将非常感谢你的帮助。 在此先感谢!

3 个答案:

答案 0 :(得分:0)

如果要在视图中迭代return view('dashboard')->with('leads', $contact);,请使用$leads['row']

否则,您可以使用return view('dashboard')->with('leads', $data);并以这种方式在视图中迭代$leads @foreach($leads as $rows)

答案 1 :(得分:0)

从此行进行更改

$data = $contact['row'];

$data = $contact;

虽然您对索引First Name和其他错误的第二个错误是因为您的数据不是那些可以使用这样的格式访问的。

您的第一个foreach将进入nofl索引。您最好在传入刀片之前重新格式化响应数据。

enter image description here

答案 2 :(得分:0)

你可以试试json_decode(json_encode($data))

如果数据来自JsonResource,原始模型中不存在的字段将被省略。当您 json_encode $data 时看起来很奇怪,它可以工作,但如果您想做 $data->first_name 之类的事情,则不行。