拉拉维尔.响应内容必须是实现给定的 __toString(),“布尔值”的字符串或对象


Laravel. The Response content must be a string or object implementing __toString(), "boolean" given

这是我的数组。

http://pastebin.com/eTrJ2PVB

当我像这样返回这个数组时,我得到一个错误。

return 'Response::json($response, 200, [], JSON_NUMERIC_CHECK);

但是,当我删除JSON_NUMERIC_CHECK时,我得到了响应;但问题是我需要数值。

可以做些什么来解决这个问题?

你没有提到你得到什么错误,但我也无法重现任何错误。事实上,http://pastebin.com/GJWrCgwN 的这段代码显示您的数组作为格式完美的 JSON 返回,其中包含文字数字而不是字符串 - 请参阅 http://pastebin.com/cYDzDGyE 的结果。

顺便说一句,您还可以使用此替代语法,其中不需要弄乱 HTTP 响应状态代码或标头,只需 JSON 编码选项:

return response()->json($response)->setEncodingOptions(JSON_NUMERIC_CHECK);

Symfony'Component'HttpFoundation'JsonResponse 查看。