Laravel 5 JSON / 刀片
Posted
技术标签:
【中文标题】Laravel 5 JSON / 刀片【英文标题】:Laravel 5 JSON / Blade 【发布时间】:2017-01-05 12:32:57 【问题描述】:我正在尝试将 JSON 传递给我的视图
使用此代码:
Route::get('json', function()
$path = storage_path() . "/json/dish.json";
$json = json_decode(file_get_contents($path), true);
return View::make('pages.json')->withJson($json);
);
与dd($json)
我收到这个:
array:1 [▼
"dish" => array:297 [▼
0 => array:2 [▶]
1 => array:2 [▶]
2 => array:2 [▶]
3 => array:5 [▶]
...
当我尝试显示我的$json
的内容时:
@foreach($json["dish"] as $key => $item)
$item
@endforeach
我收到此错误消息:
htmlentities() 期望参数 1 是字符串,给定数组(查看:/Users/beyerdynamic/Documents/Developer/dev1/resources/views/pages/json.blade.php)
我在这里做错了什么?
【问题讨论】:
$item
是一个array
。
0 => array:2 [▶] 显然 $item 也是一个数组
【参考方案1】:
默认情况下,Laravel 会在输入之前尝试转义任何变量。如果你想避免它使用!! $item !!
。但是, $item 是数组,它不会帮助您显示正确的值。您将获得“数组”作为输出。如果您想显示正确的数据,请使用 $item['your_key']
。
【讨论】:
我的 JSON 文件包含这样的键 "dish": [ "title": "California Burger", "body": "Beefburger mit geschmolzenem Cheddar Cheese, Salat, Tomaten und Zwiebeln", "price ": "7,90 €", "vendor": "Schräglage", , "title": "Lammkeule", "body": "aus dem Ofen mit Bratensoße, dazu Reis, dazu Beilagensalat und Fladenbrot", "price ": "8,50 €", "vendor": "Taverna Sultan Saray", ] 在我看来,我不确定如何遍历每个键,例如(价格、供应商、标题、正文)。如何访问“title”、“body”键?以上是关于Laravel 5 JSON / 刀片的主要内容,如果未能解决你的问题,请参考以下文章