【发布时间】:2017-05-03 17:46:12
【问题描述】:
如果我比较 Laravel 的 5.2 和 5.3 文档,5.3 文档似乎鼓励只返回一个包含数据的数组,该数据将自动转换为 JSON 响应(内容类型为 "application /json")。我注意到从控制器返回一个数组,将返回未转义的 JSON。
return ['country_id' => $countryId, 'iso2' => 'EG', 'iso3' => 'EGY', 'country_name' => $countryName, 'name' => 'EGYPT', 'active' => 1, 'published' => 1];
返回
[{"country_id":63,"iso2":"EG","iso3":"EGY","country_name":"Egypt","name":"EGYPT","active":1,"published":1}]
但使用 json_encode() 将 PHP 数组显式转换为 JSON 字符串并将其作为响应返回,则返回转义的 JSON。
return response()->json(json_encode(['country_id' => $countryId, 'iso2' => 'EG', 'iso3' => 'EGY', 'country_name' => $countryName, 'name' => 'EGYPT', 'active' => 1, 'published' => 1]));
返回
[{\"country_id\":63,\"iso2\":\"EG\",\"iso3\":\"EGY\",\"country_name\":\"Egypt\",\"name\":\"EGYPT\",\"active\":1,\"published\":1}]
是否有任何理由使用更详细的返回方式(我没有在客户端使用 eval,只有 JSON.parse() 将未转义和转义的 JSON 转换为相同的 javascript 对象)?
【问题讨论】:
-
我真的不太了解 laravel,但在我看来,逃生似乎不应该存在。
标签: javascript php json laravel