【问题标题】:Displaying Json data on view ( LARAVEL )在视图上显示 Json 数据 (LARAVEL)
【发布时间】:2017-01-26 21:23:18
【问题描述】:

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

{"response":{"result":{"Contacts":{"row":[{"no":"1","fl":[{"val":"CONTACTID","content" :"144120000000079041"},{"val":"第一 名称","内容":"塔塔"},{"val":"最后 名称","content":"Nyerere"},{"val":"Email","content":"nyereredaniel@gmail.com"},{"val":"帐户 名称","content":"null"},{"val":"Phone","content":"255652400670"},{"val":"Mobile","content":"null"}]}, {"no":"2","fl":[{"val":"CONTACTID","content":"144120000000069001"},{"val":"第一 姓名","内容":"丹尼尔"},{"val":"最后 名称","content":"Nyerere"},{"val":"Email","content":"nyereredaniel@hotmail.com"},{"val":"帐户 姓名","内容":"null"},{"val":"电话","内容":"255754897505"},{"val":"手机","内容":"null"}]}, {"no":"3","fl":[{"val":"CONTACTID","content":"144120000000065068"},{"val":"第一 名称","内容":"劳伦斯"},{"val":"最后 名称","content":"Zoho"},{"val":"Email","content":"support@zohosupport.com"},{"val":"ACCOUNTID","content":"144120000000065066" },{"val":"账户 姓名","内容":"Zoho"},{"val":"电话","内容":"1 888 900 9646"},{"val":"Mobile","content":"null"}]}]}},"uri":"/api/json/contacts/getrecords"}}

这是我的控制器方法:

 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

请帮助我,因为我花了很多时间来解决这个问题 我会感谢你们的帮助。 提前谢谢`

【问题讨论】:

    标签: php json laravel-5


    【解决方案1】:

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

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

    【讨论】:

    • 我试过return view('dashboard')-&gt;with('leads', $contact);$leads['row'] as $rows 我得到错误'Undefined index: First Name (View: C:\wamp\www\ZOHOCRMWIKI\resources\views\dashboard.blade.php) '
    【解决方案2】:

    从此行进行更改

    $data = $contact['row'];

    $data = $contact;

    虽然您在索引 First Name 和其他方面遇到的第二个错误是因为您的数据不是那种格式,因此无法使用这种格式进行访问。

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

    【讨论】:

    • 还是错误Undefined index: First Name (View: C:\wamp\www\ZOHOCRMWIKI\resources\views\dashboard.blade.php)
    • @Nyerere 查看更新后的答案。您必须编写更多代码才能使其正常工作。
    • 你能帮助我如何重新格式化上面的 json 内容吗? @cjmling
    • 现在看:我的控制器方法:-
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-07-09
      • 2020-10-10
      • 2020-06-09
      • 2023-01-08
      • 2020-07-26
      • 2013-07-09
      • 2021-08-11
      • 2016-10-28
      • 1970-01-01
      相关资源
      最近更新 更多