ID:               42186
 User updated by:  djlopez at gmx dot de
 Reported By:      djlopez at gmx dot de
 Status:           Bogus
 Bug Type:         JSON related
 Operating System: *
 PHP Version:      5.2.3
 New Comment:

Another "bug":

$json = '{"titel":"Trance","desc":"Trance%0ADJ"}';
var_dump(json_decode(urldecode($json), true));


Afaik %0A is urlencoded for \n. 
json_decode() is returning NULL here also! And this should be a bug...


Previous Comments:
------------------------------------------------------------------------

[2007-08-04 14:42:16] djlopez at gmx dot de

I want to remember you, where JSON is used: Javascript - to send data
to the server.

When there's a textarea, some OS/Browser are sending an \l for a
linebreak. So, if an \l is into the string, the _whole_ function won't
work! Sometimes it also appears with an \n, but I can't reproduce this
error. Maybe it has multiple causes.

And as far as I can see, there's no thrown exception to catch this
error. The function json_decode() may be implemented very strictly, but
without an exception, it's very hard to debug the code. 

Please DON'T set this bug to closed!!! Don't ignore the not-that-good
implementation! Thx!

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

[2007-08-04 14:24:00] [EMAIL PROTECTED]

And according to http://www.json.org/ \l is not in the accepted list of
chars. So no bug here.


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

[2007-08-04 14:17:56] [EMAIL PROTECTED]

Replace print_r() with var_dump() and you might actually see
something.


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

[2007-08-02 18:47:06] djlopez at gmx dot de

Description:
------------
json_decode() returns nothing, when the string contains an \l
(lowercase L), maybe (internal) crash!?

Reproduce code:
---------------
$json = '{"stringwithbreak":"line with a \lbreak!"}';
print_r(json_decode($json, true));


Expected result:
----------------
print_r() is NOT returning anything, json_decode() seems to be not
executed.

Actual result:
--------------
Could be "solved" this way:

print_r(json_decode(str_replace("\\l", "", $json), true));
However, it's a bug...


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


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

Reply via email to