Поиск около 20 минут и до сих пор не может найти надежный ответ, как просто настроить JSON респон для типа с плавающей запятой.
$array = DB::select('SELECT name, balance FROM ... blah blah blah'); // balance is float
return response()->json([
'data' => $array
]);
Возвращает:
{"data":[
{"name":"bob","balance":"889.37700000000018"},
{"name":"john","balance":"705.77400000000011"}
]}
Итак, как вы можете догадаться, я хочу иметь тип float в этих данных json для значений баланса:
{"data":[
{"name":"bob","balance":889.37700000000018},
{"name":"john","balance":705.77400000000011}
]}
Я могу использовать стандартную функцию json_encode()
с флагом JSON_PRESERVE_ZERO_FRACTION
для решения этой проблемы.
Но как сделать то же самое с response()->json()
?
Я пробовал этот пример, но он не работает, и возникает ошибка:
return response()->json([
'data' => $array
],
Response::HTTP_OK,
[],
JSON_PRESERVE_ZERO_FRACTION
);