我正在使用以下查询创建一个页面数组:
$pages = Page::orderBy('sorting')->get()->toArray();
当我然后json_encode
输出时,当其中一个页面标题中有引号时输出已损坏。我该如何防止这种情况?
答案 0 :(得分:0)
如果你想返回json,你应该使用:
$pages = Page::orderBy('sorting')->get()->toArray();
return response()->json(['pages' => $pages]);
它应该没有任何问题。如果你有,请说明它们是什么。
只有当我的数据库连接非UTF且有一些字符时,我才遇到json的问题。由于json_encode
需要数据为UTF-8,因此可能会导致问题
答案 1 :(得分:0)
Laravel确实返回了正确的JSON。似乎javascript需要以奇怪的方式调用对象,其中对象需要放在单引号中:UINestable.init('{ $json) !!}')
。因此,当单引号在JSON内时,它就会出错。 Thanx虽然