Bug #66707 [Opn]: big int conversion on json_encode/json_decode

From: Date: Thu, 13 Feb 2014 11:12:18 +0000
Subject: Bug #66707 [Opn]: big int conversion on json_encode/json_decode
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-184282@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=66707&edit=1 ID: 66707 User updated by: sergey dot shilko at gmail dot com Reported by: sergey dot shilko at gmail dot com -Summary: Int to float conversion on json_encode +Summary: big int conversion on json_encode/json_decode Status: Open Type: Bug Package: JSON related Operating System: Linux -PHP Version: 5.5.9 +PHP Version: 5.5.7 Block user comment: N Private report: N New Comment: #$decoded = json_decode($encoded, false, 512, JSON_BIGINT_AS_STRING); Makes no difference. Test script output: array(2) { [0]=> float(4.8572380745623E+19) [1]=> string(20) "48572380745623087456" } array(2) { [0]=> float(4.8572380745623E+19) [1]=> string(20) "48572380745623087456" } Broken Previous Comments: ------------------------------------------------------------------------ [2014-02-13 11:07:40] sergey dot shilko at gmail dot com Description: ------------ http://php.net/json_encode http://php.net/json_decode json_decode(json_encode(A)) != A json_encode + json_decode breaks large integers. Test script: --------------- <?php $facebookIds = array(48572380745623087456, '48572380745623087456'); $encoded = json_encode($facebookIds); $decoded = json_decode($encoded); var_dump($facebookIds); var_dump($decoded); if ($facebookIds != $decoded) { echo "\nBroken\n"; } ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=66707&edit=1

« previous php.bugs (#184282) next »