json中的输出对象,带有laravel刀片的单引号?
Posted
技术标签:
【中文标题】json中的输出对象,带有laravel刀片的单引号?【英文标题】:Output object in json with single quotes for laravel blade? 【发布时间】:2015-02-27 06:02:01 【问题描述】:我在 laravel 中使用 angular,在我的刀片模板中,我想做一个快速而肮脏的任务,如下所示:
ng-init="product = $product"
但是这种方法的一个问题是 laravel/php 用双引号输出 json。由于外部ng-init=""
,我需要使用单引号。我已经尝试过str_replace('"', "'", $product)
,但我遇到带有撇号的值只是时间问题。有什么解决办法吗?
注意:我很清楚这是一种不好的做法,但它对几个页面的快速而肮脏的解决方案,也节省了我的时间和客户的钱。
【问题讨论】:
你能举一个数据的例子吗? 【参考方案1】:对属性引用使用单引号:
ng-init='product = $product->toJson(JSON_HEX_APOS) '
...不是我宽恕这个,但如果这是你想要的,这就是你的做法。
【讨论】:
第一次尝试...当它到达带有单引号的东西时,它会“切断”。 应注意,此答案已被编辑(修复)以解决提问者的初始评论。此外,Laravel 的 Blade 实现现在提供了一个@json()
指令,它是 PHP 原生 json_decode()
方法的包装器,因此接受第二个可选参数。换句话说,使用ng-init='product = @json($product, JSON_HEX_APOS)'
可以获得相同的结果。以上是关于json中的输出对象,带有laravel刀片的单引号?的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 刀片中的 Unicode JSON 用于 React,生成 JSON.parse 问题