【问题标题】:Remove &quot from json using laravel使用 laravel 从 json 中删除 &quot
【发布时间】:2015-12-18 01:30:17
【问题描述】:

您好,我想知道如何在 javascript 中使用刀片变量。 这是我在 laravel 中的查询

$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"}
]

我想知道如何删除 &quot,所以我得到了一个完美的 json 来使用。

【问题讨论】:

    标签: javascript php json laravel


    【解决方案1】:

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

    【讨论】:

    • 是的{!! $users !!} 工作了@JoelHinz,这意味着我可以将其用作 json 文件,对吗?
    • 当然。如果您只想在响应中发送 json,而不是 html 或 javascript 或任何东西,请查看 laravel.com/docs/5.1/responses#json-responses :)
    • 关于如何存储 {!! $user !!} 在数组中输出并进一步转换为关联数组?
    • 应该在get() 通话后继续处理->toArray()
    • 你救了一条命!
    【解决方案2】:

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

    【讨论】:

    • 如果你在你建议的实现之后准确地展示这段代码应该是怎样的,那就太好了。这将改善您的答案。
    • 你能指出我正确的链接吗,我找不到文档..
    【解决方案3】:

    呈现 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 模板基于正则表达式,尝试将复杂表达式传递给指令可能会导致意外失败。

    来源:documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-19
      • 2017-09-17
      • 2015-03-16
      • 2011-10-26
      • 1970-01-01
      • 1970-01-01
      • 2022-11-19
      • 2019-02-01
      相关资源
      最近更新 更多