Laravel数组转换为json格式
Laravel array to json format
所以我试图将Laravel数组转换为json
,这样我就可以通过javascript对其进行操作。我不确定这是如何正确实现的。这是代码,到目前为止
@foreach ($posts as $post)
<div class="row">
<div class="col-md-8">
<div class="row">
<div class="col-md-8 tag">
<h4><strong><a href="{{{ $post>postName }}}">#{{String::title($posts->postName) }}</a></strong></h4>
</div>
</div>
<!-- ./ post title -->
</div>
</div>
<hr />
@endforeach
<script type="text/javascript">
var data = "{{ ($posts) }}"; // ??
console.log(data);
</script>
您可以从控制器返回json_encoded数组,如下所示:
public function index()
{
$posts = Post::all();
$json = json_encode($posts);
return View::make('posts.index', compact('posts', 'json'));
}
然后你可以在你的视野中像你想的那样工作:
<script type="text/javascript">
var data = {{ $json }};
console.log(data);
</script>
此外,如果您的post模型上有敏感字段,您应该在模型类中排除这些字段,以防止它们在javascript检查器中显示:
class Post extends 'Eloquent {
...
protected $hidden = array(
'id',
'created_at',
'updated_at'
);
...
}
如果您正在寻找将纯数组转换为json的"高级"方法,可以使用laravel集合。
collect(['a' => 1, 'b' => 2, 'c' => 3])->toJson();
使用函数toJson
中内置的Eloquents将行获取为json。
<script type="text/javascript">
var data = "{{ $posts->toJson() }}";
console.log(data);
</script>
如果有一些字段不想包含,请将该字段添加到模型中的hidden
属性中,如Jimmy所述。
<script type="text/javascript">
let data = @json($posts);
console.log(data);
</script>
您不需要做所有这些,只需使用php内置函数json_encode
$json = json_encode($posts);
echo $json;
<script type="text/javascript">
var data = "$json"; // ??
console.log(data);
</script>
相关文章:
- 在HTML页面上将URL解析为可读的json格式
- 为DataTables aoColumnDefs创建JavaScript数组(JSON格式)
- 从Particle Photon Webhook到Azure的JSON格式
- json格式的国家数据到层次数据
- 从javascript调用C#Web服务并使用它(json格式)
- HTML表的JSON格式
- 如何将HTML表单(JSON格式)中的数据分配给变量
- Neo4j结果(JSON格式)创建D3树图
- 高图表数据导入 JSON - 格式
- 更改代码以读取不同的 JSON 格式
- JSON 格式问题
- 将JavaScript字典转换为JSON格式
- 将 XML 数据转换为 json 格式 AngularJS
- KendoDatePicker 无法识别从 Web 服务以 JSON 格式返回的日期
- 在表单提交时设置JSON格式
- AngularJS ng重复json格式
- 如何将json格式的数组数据从jquery返回到html
- 为什么 JSON.parse 无法检测参数是否已采用 JSON 格式
- 如何使用jQuery从表中以JSON格式发布数据
- json格式作为cordova或phonegap ios插件的参数