From: Operating system: Mac OS 10.6.3, RHEL 5 PHP version: 5.3.3 Package: JSON related Bug Type: Bug Bug description:json_decode fails when underscores used in names
Description: ------------ There appears to be a bug in json_decode(). In some cases, if there is an underscore in one of the names in a JSON string, json_decode fails to retrieve the value. If the underscore is replaced with nothing, json_decode properly retrieves the value. However, some names with underscores work properly. In Depth Explanation : http://calendee.com/json_decode.php Test script: --------------- URL : http://calendee.com/json_decode.txt <?php $string = '{"alarm_groups_id":"0","start":"2010-07-23 10:23:13","stop":"2010-07-23 12:23:13","model":"","pairs_id":"","alarms_alarm_num":"1044","stps_abbr":"dlls","alarms_lsn":"bm700145","slc":"","card":"","port":"","linksets_company":"","opc":"","dpc":"","aftpc":"","feclli":"","cdpa_addr":"","cdpa_ssn":"","cdpa_tt":"","cgpa_addr":"","cgpa_ssn":"","cgpa_tt":"","translated_pc":"","translated_ssn":"","class":"","cong_card":"","cong_port":"","cpc":"","xmt_lsn":"","rcv_lsn":"","sccp_mt":"","sio":"","alarms_alarm_num":"","stps_abbr":"","alarms_lsn":"","slc":"","card":"","port":"","linksets_company":"","opc":"","dpc":"","aftpc":"","feclli":"","cdpa_addr":"","cdpa_ssn":"","cdpa_tt":"","cgpa_addr":"","cgpa_ssn":"","cgpa_tt":"","translated_pc":"","translated_ssn":"","class":"","cong_card":"","cong_port":"","cpc":"","xmt_lsn":"","rcv_lsn":"","sccp_mt":"","sio":""}'; echo "\nDecode with Underscore in Name\n"; print_r( json_decode($string) ); echo json_last_error() ; $string = '{"alarm_groups_id":"0","start":"2010-07-23 10:23:13","stop":"2010-07-23 12:23:13","model":"","pairs_id":"","alarmsalarmnum":"1044","stps_abbr":"dlls","alarmslsn":"bm700145","slc":"","card":"","port":"","linksets_company":"","opc":"","dpc":"","aftpc":"","feclli":"","cdpa_addr":"","cdpa_ssn":"","cdpa_tt":"","cgpa_addr":"","cgpa_ssn":"","cgpa_tt":"","translated_pc":"","translated_ssn":"","class":"","cong_card":"","cong_port":"","cpc":"","xmt_lsn":"","rcv_lsn":"","sccp_mt":"","sio":"","alarms_alarm_num":"","stps_abbr":"","alarms_lsn":"","slc":"","card":"","port":"","linksets_company":"","opc":"","dpc":"","aftpc":"","feclli":"","cdpa_addr":"","cdpa_ssn":"","cdpa_tt":"","cgpa_addr":"","cgpa_ssn":"","cgpa_tt":"","translated_pc":"","translated_ssn":"","class":"","cong_card":"","cong_port":"","cpc":"","xmt_lsn":"","rcv_lsn":"","sccp_mt":"","sio":""}'; echo "\nDecode without Underscore in Name\n"; print_r( json_decode($string) ); echo json_last_error() ; ?> Expected result: ---------------- Decode with Underscore in Name stdClass Object ( [alarm_groups_id] => 0 [start] => 2010-07-23 10:23:13 [stop] => 2010-07-23 12:23:13 [model] => [pairs_id] => [alarms_alarm_num] => 1044 [stps_abbr] => [alarms_lsn] => bm700145 [slc] => [card] => [port] => [linksets_company] => [opc] => [dpc] => [aftpc] => [feclli] => [cdpa_addr] => [cdpa_ssn] => [cdpa_tt] => [cgpa_addr] => [cgpa_ssn] => [cgpa_tt] => [translated_pc] => [translated_ssn] => [class] => [cong_card] => [cong_port] => [cpc] => [xmt_lsn] => [rcv_lsn] => [sccp_mt] => [sio] => ) Decode without Underscore in Name stdClass Object ( [alarm_groups_id] => 0 [start] => 2010-07-23 10:23:13 [stop] => 2010-07-23 12:23:13 [model] => [pairs_id] => [alarmsalarmnum] => 1044 [stps_abbr] => [alarmslsn] => bm700145 [slc] => [card] => [port] => [linksets_company] => [opc] => [dpc] => [aftpc] => [feclli] => [cdpa_addr] => [cdpa_ssn] => [cdpa_tt] => [cgpa_addr] => [cgpa_ssn] => [cgpa_tt] => [translated_pc] => [translated_ssn] => [class] => [cong_card] => [cong_port] => [cpc] => [xmt_lsn] => [rcv_lsn] => [sccp_mt] => [sio] => [alarms_alarm_num] => [alarms_lsn] => ) Actual result: -------------- Decode with Underscore in Name stdClass Object ( [alarm_groups_id] => 0 [start] => 2010-07-23 10:23:13 [stop] => 2010-07-23 12:23:13 [model] => [pairs_id] => [alarms_alarm_num] => [stps_abbr] => [alarms_lsn] => [slc] => [card] => [port] => [linksets_company] => [opc] => [dpc] => [aftpc] => [feclli] => [cdpa_addr] => [cdpa_ssn] => [cdpa_tt] => [cgpa_addr] => [cgpa_ssn] => [cgpa_tt] => [translated_pc] => [translated_ssn] => [class] => [cong_card] => [cong_port] => [cpc] => [xmt_lsn] => [rcv_lsn] => [sccp_mt] => [sio] => ) 0 Decode without Underscore in Name stdClass Object ( [alarm_groups_id] => 0 [start] => 2010-07-23 10:23:13 [stop] => 2010-07-23 12:23:13 [model] => [pairs_id] => [alarmsalarmnum] => 1044 [stps_abbr] => [alarmslsn] => bm700145 [slc] => [card] => [port] => [linksets_company] => [opc] => [dpc] => [aftpc] => [feclli] => [cdpa_addr] => [cdpa_ssn] => [cdpa_tt] => [cgpa_addr] => [cgpa_ssn] => [cgpa_tt] => [translated_pc] => [translated_ssn] => [class] => [cong_card] => [cong_port] => [cpc] => [xmt_lsn] => [rcv_lsn] => [sccp_mt] => [sio] => [alarms_alarm_num] => [alarms_lsn] => ) -- Edit bug report at http://bugs.php.net/bug.php?id=52420&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=52420&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=52420&r=trysnapshot53 Try a snapshot (trunk): http://bugs.php.net/fix.php?id=52420&r=trysnapshottrunk Fixed in SVN: http://bugs.php.net/fix.php?id=52420&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=52420&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=52420&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=52420&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=52420&r=needscript Try newer version: http://bugs.php.net/fix.php?id=52420&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=52420&r=support Expected behavior: http://bugs.php.net/fix.php?id=52420&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=52420&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=52420&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=52420&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=52420&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=52420&r=dst IIS Stability: http://bugs.php.net/fix.php?id=52420&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=52420&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=52420&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=52420&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=52420&r=mysqlcfg
