Commit graph

65 commits

Author SHA1 Message Date
Xinchen Hui
a2045ff332 Happy New Year~ 2013-01-01 16:02:16 +08:00
johannes
bcc87ba68e Revert change 3f3ad30c50: There shouldn't be new features in 5.3, especially
not if they aren't in 5.4, too.
2012-07-05 00:55:47 +02:00
Nikita Popov
250393f925 Revert JSON changes to PHP 5.3
This reverts the following commits:

974324676b
4662151ea7
84fe2cc890

This does not revert the JSON changes released in PHP 5.3.14.
2012-07-01 16:28:57 +02:00
Nikita Popov
974324676b Add json_last_error_msg() function
This replaces json_last_error(true) and is consistent with other custom
error handling functions.
2012-06-28 20:11:27 +02:00
Nikita Popov
4662151ea7 Improve JSON error handling
json_encode() no longer throws warnings. Instead only the error code for
json_last_error() is set.

As it is hard to debug the error from just an error code an optional
$as_string parameter was added to json_last_error(), which returns an
error message instead of an error code.
2012-06-27 12:21:48 +02:00
Nikita Popov
84fe2cc890 Improve json_encode error handling
json_encode() now returns bool(false) for all possible errors, throws the
respective warning and also sets the respective json_last_error() error
code. Three new error codes have been added:

  * JSON_ERROR_RECURSION
  * JSON_ERROR_INF_OR_NAN
  * JSON_ERROR_UNSUPPORTED_TYPE

To get a partial JSON output instead of bool(false) the option
JSON_PARTIAL_OUTPUT_ON_ERROR can be specified. In this case the invalid
segments will be replaced either by null (for recursion, unsupported type
and invalid JSON) or 0 (for Inf and NaN).

The warning for invalid UTF-8 stays intact and is thrown also with
display_errors = On. If this behavior is undesired this can be remedied
later.
2012-06-23 20:51:52 +02:00
Adam Harvey
3f3ad30c50 Fix bug #61537 (json_encode() incorrectly truncates/discards information) and
remove a test case that's now mooted by this fix.
2012-04-11 08:24:38 +08:00
Matt Nowack
76ef76d2f8 Adding Braces in json.c to conform with coding standards 2012-03-20 17:29:04 +01:00
Felipe Pena
e4ca0ed09f - Year++ 2012-01-01 13:15:04 +00:00
Ilia Alshanetsky
199b52c1d4 Fixed bug #55543 (json_encode() with JSON_NUMERIC_CHECK fails on objects with numeric string properties) 2011-10-17 23:51:25 +00:00
Felipe Pena
23e438594d - Make usage of new PHP_FE_END macro 2011-07-25 11:42:53 +00:00
Ilia Alshanetsky
f4f2aa7583 Fixed bug #54484 (Empty string in json_decode doesn't reset json_last_error()). 2011-06-01 09:44:38 +00:00
Scott MacVicar
3242016f28 Fix Bug #54058, invalid utf-8 doesn't set json_encode() in all cases 2011-02-21 08:09:02 +00:00
Felipe Pena
927bf09c29 - Year++ 2011-01-01 02:19:59 +00:00
Adam Harvey
1f06a6a4e8 Fix English in the error message emitted when json_decode() is called with
depth <= 0.
2010-09-14 03:46:28 +00:00
Scott MacVicar
e1ce0a64ea Fix bug #52262 - Invalid UTF-8 documents don't set an error code when they fail to decode. 2010-07-06 17:01:30 +00:00
Ilia Alshanetsky
ea3a6539dc Added support for JSON_NUMERIC_CHECK option in json_encode() that converts
numeric strings to integers.
2010-05-20 19:37:52 +00:00
Felipe Pena
45c090f3e7 - Fixed bug #51590 (JSON_ERROR_UTF8 is undefined) 2010-04-18 18:07:27 +00:00
Sebastian Bergmann
9ba1e81665 sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
Scott MacVicar
87dbefa03b MFH: Add error constant when json_encode detects an invalid UTF-8 sequence. 2009-07-27 03:43:38 +00:00
Stanislav Malyshev
2361b4ea2a fix json shared build on Windows 2009-06-30 17:52:21 +00:00
Felipe Pena
caf8d811ef - MFH: Fixed memleak when depth arg is less than zero 2009-06-24 17:39:52 +00:00
Jani Taskinen
7012d0967c MFH: no dots in errors 2009-05-31 13:51:08 +00:00
Andrei Zmievski
efc0927f4f Expose encode/decode API. 2009-05-31 01:44:07 +00:00
Kalle Sommer Nielsen
105272bdec MFH: Fix arginfo 2009-05-15 09:10:55 +00:00
Scott MacVicar
d2a7785878 MFH Allow a custom recursion depth to be specified for json_decode() 2009-05-14 22:02:08 +00:00
Scott MacVicar
c2b15e947d MFH Replace magic values with a define for json encoding, makes reading it a bit easier 2009-03-17 23:26:02 +00:00
Scott MacVicar
8d2a5cabec MFH Add PHP_JSON_FORCE_OBJECT for forcing an object output of an array 2009-03-17 23:15:40 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Scott MacVicar
7fe245af85 MFH Make sure we clear out the error when the scalar version decoding works. 2008-12-24 18:09:09 +00:00
Scott MacVicar
fdf2d1e46f MFH Add json_last_error() for getting a bit of information about what failed during a decode, also fixes a segfault when we have [1}
[DOC]
2008-12-19 02:00:57 +00:00
Scott MacVicar
8ef7fe1d99 Update the JSON parser with that on json.org, biggest change here is code readability. Less magic numbers in the state table.
Add missing reflection information to json_encode()
Fixes bug #45791 with 0e0 not being supported as a value
Error values are stored when encountered during parsing
2008-12-17 14:40:06 +00:00
Scott MacVicar
ed5f04710b MFH Fix bug #45989 - json_decode() doesn't return NULL on certain invalid strings 2008-12-12 23:19:47 +00:00
Felipe Pena
fc2fb50d09 - MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-11-17 11:28:01 +00:00
Felipe Pena
7a37fa2d6b - Revert ZEND_BEGIN_ARG_INFO change 2008-11-02 21:19:39 +00:00
Felipe Pena
df10005563 - MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-10-24 14:35:40 +00:00
Felipe Pena
604c7f6ad2 - MFH: Fixed bug #46215 (json_encode mutates its parameter and has some class-specific state) 2008-10-02 03:36:20 +00:00
Jani Taskinen
4e2ed54d15 ws + cs 2008-07-22 15:30:03 +00:00
Felipe Pena
cb0d08699d - Added arginfo 2008-06-27 19:16:17 +00:00
Dmitry Stogov
1a41611372 ZTS fix 2008-01-30 08:10:17 +00:00
Stanislav Malyshev
b4443f35ff fix #43941: invalid utf-8 not accepted 2008-01-30 03:17:57 +00:00
Sebastian Bergmann
d1dded8751 MFH: Bump copyright year, 2 of 2. 2007-12-31 07:17:19 +00:00
Sara Golemon
cce03434ef MFH (json.c r-1.32) Add support for encoding options 2007-12-17 07:48:27 +00:00
Ilia Alshanetsky
36cf6a2b05 Fixed bug #42785 (json_encode() formats doubles according to locale rather
then following standard syntax).
2007-10-01 15:22:41 +00:00
Dmitry Stogov
6c810b0d4c Improved memory usage by movig constants to read only memory. (Dmitry, Pierre) 2007-09-27 18:00:48 +00:00
Hannes Magnusson
e3b8cf0f66 MFH: Fixed bug#42090 (json_decode causes segmentation fault) 2007-07-24 22:57:13 +00:00
Antony Dovgal
17ee976404 fix ws/folding 2007-07-23 12:24:52 +00:00
Ilia Alshanetsky
9f28e21bb1 Fixed bug #41673 (json_encode breaks large numbers in arrays). 2007-06-13 17:07:58 +00:00
Ilia Alshanetsky
045b283a7d Fixed bug #41567 (json_encode() double conversion is inconsistent with PHP). 2007-06-04 23:51:32 +00:00
Hannes Magnusson
de4408c9af MFH: protos (patch by jeffg at activestate dot com) 2007-05-25 13:24:50 +00:00