Laravel 8 渲染 JSON
有时,为了初始化一个 JavaScript 变量,您可能会向视图传递一个数组并将其渲染成 JSON 。例如:
<script>
var app = <?php echo json_encode($array); ?>;
</script>
当然,您亦可使用 @json
Blade 指令来代替手动调用 json_encode
方法。 @json
指令的参数和 PHP 的 json_encode
函数一致:
<script>
var app = @json($array);
var app = @json($array, JSON_PRETTY_PRINT);
</script>
注意:使用
@json
指令时,您应该只渲染已经存在的变量为 JSON 。 Blade 模板是基于正则表达式的,如果尝试将一个复杂表达式传递给@json
指令可能会导致无法预测的错误。