在 Blade 中显示 JSON 集合
Posted
技术标签:
【中文标题】在 Blade 中显示 JSON 集合【英文标题】:Displaying JSON-collection in Blade 【发布时间】:2019-06-28 23:11:06 【问题描述】:我正在尝试使用 Laravel 和 Blade 显示我的数据库中的 JSON 数据。
我的 JSON 数据如下所示:
[
"title": "Open Projects",
"sequence": "1",
"columns": [
"Open Projects",
"Owner"
],
"col":
"index": "1",
"value": "title",
"type": "longtext",
"heading": "1"
,
"0":
"title": "Owner",
"index": "2",
"value": "owner",
"type": "longtext",
"heading": "0"
,
... more
]
当我尝试打印其中一个集合时,出现错误:
"htmlspecialchars() expects parameter 1 to be string, array given (View: ...)"
【问题讨论】:
你有什么问题? 我的 Json 格式数据显示有问题。我需要使用 laravel 在刀片视图中显示此数据 Laravel: How do I parse this json data in view blade?的可能重复 我的问题是不同的。在 JSOn 数据中,我有一个名为 'columns 的数组。但我给出了类似的列: $value['columns'] ,我收到错误 htmlspecialchars() 预期参数 1 为字符串,.. 首先,欢迎来到 Stack Overflow。 :-) 请阅读how to ask。您需要在您的问题中向我们表明 - 我们不知道您想要什么或您的问题是什么。请添加您迄今为止尝试过的内容、您看到的错误、您希望看到的内容等 - 无需添加数百行代码。小而具体。 :-) 【参考方案1】:"htmlspecialchars() expects parameter 1 to be string, array given
在您尝试使用 $variable
打印数组时发生。相反,您需要将其转换为字符串或对其进行循环。下面的解决方案会循环您的集合。
假设您像这样注入 JSON:
return view('myview', ["json" => json_decode($json, true)]);
您可以像这样打印您的值:
@foreach($json as $project)
<p>Title: $project["title"] </p>
<p>Sequence: $project["sequence"] </p>
<p>Columns: </p>
<ul>
@foreach($project["col"] as $key => $value)
<li> $key : $value </li>
@endforeach
</ul>
<p>"0" <- whatever this is</p>
<ul>
@foreach($project["0"] as $key => $value)
<li> $key : $value </li>
@endforeach
</ul>
@endforeach
【讨论】:
以上是关于在 Blade 中显示 JSON 集合的主要内容,如果未能解决你的问题,请参考以下文章
使用 Laravel Blade 从 Postgres 显示 JSON 数据