使用laravel从json中删除“quot”


Remove &quot from json using laravel

你好,我想知道如何在javascript中使用blade变量。这是我在拉拉维尔的查询

$users=json_encode(DB::table('ledger')->select('name','openingbalance')->get());

我正在尝试在我的 javascript 文件中访问它,如下所示

var users ="{{ $users }}";

我得到的输出如下所示:

[
      {"name":"Harsh","openingbalance":"5755.00"},      
      {"name":"Harh","openingbalance":"-12000.00"},
      {"name":"gfgfhgf","openingbalance":"-333.00"}
]

我想知道如何删除",以便我得到一个完美的json来使用。

你在Laravel 5中自动使用{{ }}转义数据。请改用{!! $users !!}

渲染JSON

有时,您可能会将数组传递给视图,目的是将其呈现为 JSON 以初始化 JavaScript 变量。例如:

<script>
    var app = <?php echo json_encode($array); ?>;
</script>

但是,您可以使用 @json Blade 指令,而不是手动调用 json_encode@json 指令接受与 PHP 的 json_encode 函数相同的参数。默认情况下,@json 指令使用 JSON_HEX_TAGJSON_HEX_APOSJSON_HEX_AMPJSON_HEX_QUOT 标志调用 json_encode 函数:

<script>
    var app = @json($array);
    var app = @json($array, JSON_PRETTY_PRINT);
</script>

应仅使用 @json 指令将现有变量呈现为 JSON。Blade 模板基于正则表达式,尝试将复杂表达式传递给指令可能会导致意外失败。

资料来源:文献

在新的 laravel 版本中,您现在可以使用 @json($users(