json - 在 Blade 中显示 JSON 集合
问题描述
我正在尝试使用 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: ...)"
解决方案
"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
推荐阅读
- javascript - 检查Angular HTML中的布尔真值
- angular - Angular 测试不调用期望导致“规范没有期望”
- android - Android Firebase Analytics 不工作(卡在“运行您的应用程序以验证安装”)
- julia - 根据字典和键数组创建值数组
- javascript - 无法使用 Javascript 在 html 页面中编写
- javascript - getElementById 返回元素但随后返回 null
- react-native - 仅捕获 http 状态,而不捕获 JSON 错误响应
- jupyter - 调用 Jupyter nbconvert 时插入(python)单元格
- visual-studio-code - 相当于 Sublime Text 的 FileSync 扩展的可视代码?
- java - 将项目从一个表重新插入到另一个表的 SQL 逻辑?例如,活动记录变为非活动记录