У меня есть строка JSON, содержащая некоторый ключ со следующим значением: 123.00. Когда я использую функцию json_decode, я получаю декодированную строку, где предыдущий ключ равен 123, а не 123.00. Есть ли способ исправить декодирование таких значений без упаковки в кавычки?
Это в настоящее время воспитывается как ошибка PHP:
Отчет об ошибке : https://bugs.php.net/bug.php?id=50224
В будущем могут быть функциональные возможности для передачи флага через options
параметров для более строгой типизации. На данный момент, однако, обернуть его в кавычки будет достаточно.
Я не думаю, что это возможно!
//convert the json to a string before json_decode $res = preg_replace( '/next_cursor":(\d+)/', 'next_cursor":"\1"', $json );
number_format($number, 2)
выводить число через это?
Вы можете использовать параметр JSON_BIGINT_AS_STRING
, например:
$json = json_decode($input, true, 512, JSON_BIGINT_AS_STRING);
Осторожно, но это работает только с PHP 5.4+!