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
希望有用。
嗨,我有 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
希望有用。