Laravel:如何在视图 blade 中解析此 json 数据?

Laravel : How do I parse this json data in view blade?

嗨,我有 JSon 这样的数据:

[{label":a, "value":{"name":"abc","address"="New York"}}]

我用

成功打印了 json
{!! $mydata !!}

但是当我尝试使用 foreach

@foreach($mydata['value'] as $value)
    Member ID: {{ $value['name'] }}   
@endforeach

laravel return

ErrorException in Collection.php line 1108: Undefined index:value

我关注了这个:

有人可以帮忙吗?

注意:JSON 和变量不是我的。为了简单起见,我对其进行了更改。

已编辑:

添加了 {{ dd(json_decode($tagihan, true)) }} 和 return

Result after added {{ dd(json_decode($tagihan, true)) }}

已编辑:

这是我的 JSON:

array:5 [▼
  0 => array:7 [▼
    "id" => 8
    "no_rek_pelanggan" => 11115
    "keadaan_meteran" => 0
    "angka_meteran" => 3000
    "created_at" => "2016-05-28 15:28:17"
    "updated_at" => "2016-05-28 15:28:17"
    "all_pelanggan" => array:7 [▼
      "no_rek" => 11115
      "nama" => "Wicak"
      "alamat" => "Malang"
      "long" => 112.6153447
      "lat" => -7.9528411
      "created_at" => "2016-05-26 00:00:00"
      "updated_at" => "2016-05-26 05:00:00"
    ]
  ]

我想在 all_pelanggan 中读取 nama、alamat、long、lat 的值。我该怎么做?

如果您真的想在视图中使用 json 编码数据,请在 foreach 中使用 json_decode():

@foreach(json_decode($mydata, true) as $value)
    Member ID: {{ $value['all_pelanggan']['name'] }}   
@endforeach

您没有回答您提供的问题。如那里所述,您应该在控制器中解码 json:

return view('your-view')->with('mydata', json_decode($mydata, true));

首先,您有一个 JSON 数组。但是您正在尝试获取 JSON 对象。 如果你确定只有一个对象,那么在你的控制器中使用 Model::<selection-criteria>->first(); 这样它将 return 一个 JSON 对象。然后"your foreach"会来上班。

如果您不确定只有一个对象或将来会有更多对象,请保持原样(最后有 ->get())。所以它将return一个数组。

现在修改您的 foreach 以获取该数组。那就是你的数据集是一个数组,每个元素都是 JSON 带有子对象的对象。

@foreach($mydata as $myDatum)
    @foreach($myDatum as $val)
        Object label: {{ $val['label'] }}
        Member Name: {{ $val['value']->name }}
        Member Address: {{ $val['value']->address }}
    @endforeach
@endforeach

你能试试下面的方法吗

@for ($i = 0; $i < count($myData); $i++)
   Member ID: {{ $myData[i]['value'] }}
@endfor

希望有用。