如何解决如何在blade laravel中获取json数据
在刀片模板中:
<?PHP
$Meta = json_encode($datas,true);
echo $Meta;
?>
显示:
{"data":[{"id":1,"title":"Alice.","rating":0},{"id":2,"title":"So Alice.","rating":2},{"id":3,{"id":4,"title":"After a.",{"id":5,"rating":0}],"Meta":{"song_count":5}}
我的问题是如何在刀片模板中获取 (song_count: 5 )。 我努力了 : echo $Meta['Meta'];
" 它显示;
"Illegal string offset 'Meta'"
谁可以帮忙,非常感谢
解决方法
json_encode()
方法给你一个 json 格式的数据。你需要解码它:
$meta = json_encode($datas,true);
$meta = json_decode($meta,true);
echo $meta;
现在您可以将数组属性作为 $meta['meta'];
注意:如果 $datas
已经是一个数组,那么你不需要编码和解码
这意味着您尝试从字符串中获取元键,因为 $meta 是 json 而不是数组,因此您不需要 json_encode $data ,您可以直接进行 :- $datas['meta']['song_count'] 如果 $data 是 array 。但这可能会给你错误,如果 $datas 为空来解决这个问题,你可以检查 $data !empty 或在 laravel 中使用可选方法,如下所示:- optional($datas['meta'])['song_count'] 它解决了问题。
,将来自控制器的json数据的值显示为bwlow的步骤:
<?php
$datas = json_encode($datas,true);
//dd($data);
$datas = json_decode($datas);
// dd($datas);
foreach($datas->meta as $link){
echo $link;
}
?>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。