Bug #79908 [Csd->ReO]: json_encode encodes negative zero as int

From: Date: Mon, 19 Jul 2021 22:37:30 +0000
Subject: Bug #79908 [Csd->ReO]: json_encode encodes negative zero as int
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-235195@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=79908&edit=1

 ID:                 79908
 Updated by:         cmb@php.net
 Reported by:        stefan at HDmeteo dot com
 Summary:            json_encode encodes negative zero as int
-Status:             Closed
+Status:             Re-Opened
 Type:               Bug
 Package:            JSON related
 PHP Version:        7.4.8
-Assigned To:        cmb
+Assigned To:        bukka
 Block user comment: N
 Private report:     N

 New Comment:

The fix has been reverted – re-opening.


Previous Comments:
------------------------------------------------------------------------
[2021-07-13 13:34:58] git@php.net

Automatic comment on behalf of cmb69
Revision: https://github.com/php/php-src/commit/717f1ed5e4b4b2083907dd085e66b377edad24b7
Log: Fix #79908: json_encode encodes negative zero as int

------------------------------------------------------------------------
[2021-07-13 11:15:47] cmb@php.net

The following pull request has been associated:

Patch Name: Fix #79908: json_decode decodes negative zero as positive zero
On GitHub:  https://github.com/php/php-src/pull/7234
Patch:      https://github.com/php/php-src/pull/7234.patch

------------------------------------------------------------------------
[2021-02-18 11:46:19] stasiukaitis dot saulius at gmail dot com

3rd party library stoped working after upgrade to PHP 7.4
This is because it compares data before and after encoding which becomes different.

https://github.com/psecio/jwt/blob/master/src/Psecio/Jwt/Jwt.php#L157

------------------------------------------------------------------------
[2020-07-30 09:32:52] stefan at HDmeteo dot com

JavaScript does the decoding as suggested in my solution 2 (decode -0 as float -0.0 or as string
"-0"):

https://jsfiddle.net/:

input:
JSON.parse("-0")

output:
-0

------------------------------------------------------------------------
[2020-07-29 11:45:28] cmb@php.net

Well, I think it makes sense to check what other JSON
implementations do in this case.

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=79908


--
Edit this bug report at https://bugs.php.net/bug.php?id=79908&edit=1


Thread (13 messages)

« previous php.bugs (#235195) next »