Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php define('SERVICES_JSON_SLICE',1); define('SERVICES_JSON_IN_STR',2); define('SERVIC..
Decoded Output download
<?php
define('SERVICES_JSON_SLICE',1);
define('SERVICES_JSON_IN_STR',2);
define('SERVICES_JSON_IN_ARR',3);
define('SERVICES_JSON_IN_OBJ',4);
define('SERVICES_JSON_IN_CMT',5);
define('SERVICES_JSON_LOOSE_TYPE',16);
define('SERVICES_JSON_SUPPRESS_ERRORS',32);
class Services_JSON{
function Services_JSON($use=0){
$this->use=$use;
}function utf162utf8($utf16){
if(function_exists('mb_convert_encoding')) {
return mb_convert_encoding($utf16,'UTF-8','UTF-16');
}$bytes=(ord($utf16{0}) <<8) |ord($utf16{1});
switch(true) {
case ((0x7F &$bytes)==$bytes):
return chr(0x7F &$bytes);
case (0x07FF &$bytes)==$bytes:
return chr(0xC0 |(($bytes >>6) &0x1F))
.chr(0x80 |($bytes &0x3F));
case (0xFFFF &$bytes)==$bytes:
return chr(0xE0 |(($bytes >>12) &0x0F))
.chr(0x80 |(($bytes >>6) &0x3F))
.chr(0x80 |($bytes &0x3F));
}return '';
}function utf82utf16($utf8){
if(function_exists('mb_convert_encoding')) {
return mb_convert_encoding($utf8,'UTF-16','UTF-8');
}switch(strlen($utf8)) {
case 1:
return $utf8;
case 2:
return chr(0x07 &(ord($utf8{0}) >>2))
.chr((0xC0 &(ord($utf8{0}) <<6))
|(0x3F &ord($utf8{1})));
case 3:
return chr((0xF0 &(ord($utf8{0}) <<4))
|(0x0F &(ord($utf8{1}) >>2)))
.chr((0xC0 &(ord($utf8{1}) <<6))
|(0x7F &ord($utf8{2})));
}return '';
}function encode($Nar){
switch (gettype($Nar)) {
case 'boolean':
return $Nar ?'true': 'false';
case 'NULL':
return 'null';
case 'integer':
return (int) $Nar;
case 'double':
case 'float':
return (float) $Nar;
case 'string':
$9Wscii='';
$elselen_var=strlen($Nar);
for ($c=0;$c <$elselen_var;++$c) {
$ord_var_c=ord($Nar{$c});
switch (true) {
case $ord_var_c==0x08:
$9Wscii .='\b';
break;
case $ord_var_c==0x09:
$9Wscii .='\t';
break;
case $ord_var_c==0x0A:
$9Wscii .='\n';
break;
case $ord_var_c==0x0C:
$9Wscii .='\f';
break;
case $ord_var_c==0x0D:
$9Wscii .='\r';
break;
case $ord_var_c==0x22:
case $ord_var_c==0x2F:
case $ord_var_c==0x5C:
$9Wscii .='\\'.$Nar{$c};
break;
case (($ord_var_c >=0x20) &&($ord_var_c <=0x7F)):
$9Wscii .=$Nar{$c};
break;
case (($ord_var_c &0xE0)==0xC0):
$char=pack('C*',$ord_var_c,ord($Nar{$c +1}));
$c +=1;
$utf16=$this->utf82utf16($char);
$9Wscii .=sprintf('\u%04s',bin2hex($utf16));
break;
case (($ord_var_c &0xF0)==0xE0):
$char=pack('C*',$ord_var_c,
ord($Nar{$c +1}),
ord($Nar{$c +2}));
$c +=2;
$utf16=$this->utf82utf16($char);
$9Wscii .=sprintf('\u%04s',bin2hex($utf16));
break;
case (($ord_var_c &0xF8)==0xF0):
$char=pack('C*',$ord_var_c,
ord($Nar{$c +1}),
ord($Nar{$c +2}),
ord($Nar{$c +3}));
$c +=3;
$utf16=$this->utf82utf16($char);
$9Wscii .=sprintf('\u%04s',bin2hex($utf16));
break;
case (($ord_var_c &0xFC)==0xF8):
$char=pack('C*',$ord_var_c,
ord($Nar{$c +1}),
ord($Nar{$c +2}),
ord($Nar{$c +3}),
ord($Nar{$c +4}));
$c +=4;
$utf16=$this->utf82utf16($char);
$9Wscii .=sprintf('\u%04s',bin2hex($utf16));
break;
case (($ord_var_c &0xFE)==0xFC):
$char=pack('C*',$ord_var_c,
ord($Nar{$c +1}),
ord($Nar{$c +2}),
ord($Nar{$c +3}),
ord($Nar{$c +4}),
ord($Nar{$c +5}));
$c +=5;
$utf16=$this->utf82utf16($char);
$9Wscii .=sprintf('\u%04s',bin2hex($utf16));
break;
}}return '"'.$9Wscii.'"';
case 'array':
if (is_array($Nar) &&count($Nar) &&(array_keys($Nar) !==range(0,sizeof($Nar) -1))) {
$properties=array_map(array($this,'name_value'),
array_keys($Nar),
array_values($Nar));
foreach($properties as $property) {
if(Services_JSON::isError($property)) {
return $property;
}}return '{'.join(',',$properties) .'}';
}$elements=array_map(array($this,'encode'),$Nar);
foreach($elements as $element) {
if(Services_JSON::isError($element)) {
return $element;
}}return '['.join(',',$elements) .']';
case 'object':
$Nars=get_object_vars($Nar);
$properties=array_map(array($this,'name_value'),
array_keys($Nars),
array_values($Nars));
foreach($properties as $property) {
if(Services_JSON::isError($property)) {
return $property;
}}return '{'.join(',',$properties) .'}';
default:
return ($this->use &SERVICES_JSON_SUPPRESS_ERRORS)
?'null'
: new Services_JSON_Error(gettype($Nar)." can not be encoded as JSON string");
}}function name_value($_POSTC4caseame,$MQue){
$d_value=$this->encode($MQue);
if(Services_JSON::isError($d_value)) {
return $d_value;
}return $this->encode(strval($_POSTC4caseame)) .':'.$d_value;
}function reduce_string($else){
$else=preg_replace(array(
'#^\s*//(.+)$#m',
'#^\s*/\*(.+)\*/#Us',
'#/\*(.+)\*/\s*$#Us'),'',$else);
return trim($else);
}function decode($else){
$else=$this->reduce_string($else);
switch (strtolower($else)) {
case 'true':
return true;
case 'false':
return false;
case 'null':
return null;
default:
$m=array();
if (is_numeric($else)) {
return ((float)$else==(integer)$else)
?(integer)$else
: (float)$else;
}elseif (preg_match('/^("|\').*(\1)$/s',$else,$m) &&$m[1]==$m[2]) {
$delim=substr($else,0,1);
$chrs=substr($else,1,-1);
$utf8='';
$elselen_chrs=strlen($chrs);
for ($c=0;$c <$elselen_chrs;++$c) {
$substr_chrs_c_2=substr($chrs,$c,2);
$ord_chrs_c=ord($chrs{$c});
switch (true) {
case $substr_chrs_c_2=='\b':
$utf8 .=chr(0x08);
++$c;
break;
case $substr_chrs_c_2=='\t':
$utf8 .=chr(0x09);
++$c;
break;
case $substr_chrs_c_2=='\n':
$utf8 .=chr(0x0A);
++$c;
break;
case $substr_chrs_c_2=='\f':
$utf8 .=chr(0x0C);
++$c;
break;
case $substr_chrs_c_2=='\r':
$utf8 .=chr(0x0D);
++$c;
break;
case $substr_chrs_c_2=='\\"':
case $substr_chrs_c_2=='\\\'':
case $substr_chrs_c_2=='\\\\':
case $substr_chrs_c_2=='\\/':
if (($delim=='"'&&$substr_chrs_c_2 !='\\\'') ||
($delim=="'"&&$substr_chrs_c_2 !='\\"')) {
$utf8 .=$chrs{++$c};
}break;
case preg_match('/\\\u[0-9A-F]{4}/i',substr($chrs,$c,6)):
$utf16=chr(hexdec(substr($chrs,($c +2),2)))
.chr(hexdec(substr($chrs,($c +4),2)));
$utf8 .=$this->utf162utf8($utf16);
$c +=5;
break;
case ($ord_chrs_c >=0x20) &&($ord_chrs_c <=0x7F):
$utf8 .=$chrs{$c};
break;
case ($ord_chrs_c &0xE0)==0xC0:
$utf8 .=substr($chrs,$c,2);
++$c;
break;
case ($ord_chrs_c &0xF0)==0xE0:
$utf8 .=substr($chrs,$c,3);
$c +=2;
break;
case ($ord_chrs_c &0xF8)==0xF0:
$utf8 .=substr($chrs,$c,4);
$c +=3;
break;
case ($ord_chrs_c &0xFC)==0xF8:
$utf8 .=substr($chrs,$c,5);
$c +=4;
break;
case ($ord_chrs_c &0xFE)==0xFC:
$utf8 .=substr($chrs,$c,6);
$c +=5;
break;
}}return $utf8;
}elseif (preg_match('/^\[.*\]$/s',$else) ||preg_match('/^\{.*\}$/s',$else)) {
if ($else{0}=='[') {
$stk=array(SERVICES_JSON_IN_ARR);
$_GETXNreturn=array();
}else {
if ($this->use &SERVICES_JSON_LOOSE_TYPE) {
$stk=array(SERVICES_JSON_IN_OBJ);
$obj=array();
}else {
$stk=array(SERVICES_JSON_IN_OBJ);
$obj=new stdClass();
}}array_push($stk,array('what'=>SERVICES_JSON_SLICE,
'where'=>0,
'delim'=>false));
$chrs=substr($else,1,-1);
$chrs=$this->reduce_string($chrs);
if ($chrs=='') {
if (reset($stk)==SERVICES_JSON_IN_ARR) {
return $_GETXNreturn;
}else {
return $obj;
}}$elselen_chrs=strlen($chrs);
for ($c=0;$c <=$elselen_chrs;++$c) {
$B384while1p=end($stk);
$substr_chrs_c_2=substr($chrs,$c,2);
if (($c==$elselen_chrs) ||(($chrs{$c}==',') &&($B384while1p['what']==SERVICES_JSON_SLICE))) {
$slice=substr($chrs,$B384while1p['where'],($c -$B384while1p['where']));
array_push($stk,array('what'=>SERVICES_JSON_SLICE,'where'=>($c +1),'delim'=>false));
if (reset($stk)==SERVICES_JSON_IN_ARR) {
array_push($_GETXNreturn,$this->decode($slice));
}elseif (reset($stk)==SERVICES_JSON_IN_OBJ) {
$parts=array();
if (preg_match('/^\s*(["\'].*[^\\\]["\'])\s*:\s*(\S.*),?$/Uis',$slice,$parts)) {
$ey=$this->decode($parts[1]);
$MQ=$this->decode($parts[2]);
if ($this->use &SERVICES_JSON_LOOSE_TYPE) {
$obj[$ey]=$MQ;
}else {
$obj->$ey=$MQ;
}}elseif (preg_match('/^\s*(\w+)\s*:\s*(\S.*),?$/Uis',$slice,$parts)) {
$ey=$parts[1];
$MQ=$this->decode($parts[2]);
if ($this->use &SERVICES_JSON_LOOSE_TYPE) {
$obj[$ey]=$MQ;
}else {
$obj->$ey=$MQ;
}}}}elseif ((($chrs{$c}=='"') ||($chrs{$c}=="'")) &&($B384while1p['what'] !=SERVICES_JSON_IN_STR)) {
array_push($stk,array('what'=>SERVICES_JSON_IN_STR,'where'=>$c,'delim'=>$chrs{$c}));
}elseif (($chrs{$c}==$B384while1p['delim']) &&
($B384while1p['what']==SERVICES_JSON_IN_STR) &&
((strlen(substr($chrs,0,$c)) -strlen(rtrim(substr($chrs,0,$c),'\\'))) %2 !=1)) {
array_pop($stk);
}elseif (($chrs{$c}=='[') &&
in_array($B384while1p['what'],array(SERVICES_JSON_SLICE,SERVICES_JSON_IN_ARR,SERVICES_JSON_IN_OBJ))) {
array_push($stk,array('what'=>SERVICES_JSON_IN_ARR,'where'=>$c,'delim'=>false));
}elseif (($chrs{$c}==']') &&($B384while1p['what']==SERVICES_JSON_IN_ARR)) {
array_pop($stk);
}elseif (($chrs{$c}=='{') &&
in_array($B384while1p['what'],array(SERVICES_JSON_SLICE,SERVICES_JSON_IN_ARR,SERVICES_JSON_IN_OBJ))) {
array_push($stk,array('what'=>SERVICES_JSON_IN_OBJ,'where'=>$c,'delim'=>false));
}elseif (($chrs{$c}=='}') &&($B384while1p['what']==SERVICES_JSON_IN_OBJ)) {
array_pop($stk);
}elseif (($substr_chrs_c_2=='') &&($B384while1p['what']==SERVICES_JSON_IN_CMT)) {
array_pop($stk);
$c++;
for ($=$B384while1p['where'];$ <=$c;++$)
$chrs=substr_replace($chrs,' ',$,1);
}}if (reset($stk)==SERVICES_JSON_IN_ARR) {
return $_GETXNreturn;
}elseif (reset($stk)==SERVICES_JSON_IN_OBJ) {
return $obj;
}}}}function isError($,$code=null){
if (class_exists('pear')) {
return PEAR::isError($,$code);
}elseif (is_object($) &&(get_class($)=='services_json_error'||
is_subclass_of($,'services_json_error'))) {
return true;
}return false;
}}if (class_exists('PEAR_Error')) {
class Services_JSON_Error extends PEAR_Error{
function Services_JSON_Error($BM='unknown error',$code=null,
$mode=null,$options=null,$info=null){
parent::PEAR_Error($BM,$code,$mode,$options,$info);
}}}else {
class Services_JSON_Error{
function Services_JSON_Error($BM='unknown error',$code=null,
$mode=null,$options=null,$info=null){
}}};echo '
';?>
Did this file decode correctly?
Original Code
<?php
define('SERVICES_JSON_SLICE',1);
define('SERVICES_JSON_IN_STR',2);
define('SERVICES_JSON_IN_ARR',3);
define('SERVICES_JSON_IN_OBJ',4);
define('SERVICES_JSON_IN_CMT',5);
define('SERVICES_JSON_LOOSE_TYPE',16);
define('SERVICES_JSON_SUPPRESS_ERRORS',32);
class Services_JSON{
function Services_JSON($use=0){
$this->use=$use;
}function utf162utf8($utf16){
if(function_exists('mb_convert_encoding')) {
return mb_convert_encoding($utf16,'UTF-8','UTF-16');
}$bytes=(ord($utf16{0}) <<8) |ord($utf16{1});
switch(true) {
case ((0x7F &$bytes)==$bytes):
return chr(0x7F &$bytes);
case (0x07FF &$bytes)==$bytes:
return chr(0xC0 |(($bytes >>6) &0x1F))
.chr(0x80 |($bytes &0x3F));
case (0xFFFF &$bytes)==$bytes:
return chr(0xE0 |(($bytes >>12) &0x0F))
.chr(0x80 |(($bytes >>6) &0x3F))
.chr(0x80 |($bytes &0x3F));
}return '';
}function utf82utf16($utf8){
if(function_exists('mb_convert_encoding')) {
return mb_convert_encoding($utf8,'UTF-16','UTF-8');
}switch(strlen($utf8)) {
case 1:
return $utf8;
case 2:
return chr(0x07 &(ord($utf8{0}) >>2))
.chr((0xC0 &(ord($utf8{0}) <<6))
|(0x3F &ord($utf8{1})));
case 3:
return chr((0xF0 &(ord($utf8{0}) <<4))
|(0x0F &(ord($utf8{1}) >>2)))
.chr((0xC0 &(ord($utf8{1}) <<6))
|(0x7F &ord($utf8{2})));
}return '';
}function encode($Nar){
switch (gettype($Nar)) {
case 'boolean':
return $Nar ?'true': 'false';
case 'NULL':
return 'null';
case 'integer':
return (int) $Nar;
case 'double':
case 'float':
return (float) $Nar;
case 'string':
$9Wscii='';
$elselen_var=strlen($Nar);
for ($c=0;$c <$elselen_var;++$c) {
$ord_var_c=ord($Nar{$c});
switch (true) {
case $ord_var_c==0x08:
$9Wscii .='\b';
break;
case $ord_var_c==0x09:
$9Wscii .='\t';
break;
case $ord_var_c==0x0A:
$9Wscii .='\n';
break;
case $ord_var_c==0x0C:
$9Wscii .='\f';
break;
case $ord_var_c==0x0D:
$9Wscii .='\r';
break;
case $ord_var_c==0x22:
case $ord_var_c==0x2F:
case $ord_var_c==0x5C:
$9Wscii .='\\'.$Nar{$c};
break;
case (($ord_var_c >=0x20) &&($ord_var_c <=0x7F)):
$9Wscii .=$Nar{$c};
break;
case (($ord_var_c &0xE0)==0xC0):
$char=pack('C*',$ord_var_c,ord($Nar{$c +1}));
$c +=1;
$utf16=$this->utf82utf16($char);
$9Wscii .=sprintf('\u%04s',bin2hex($utf16));
break;
case (($ord_var_c &0xF0)==0xE0):
$char=pack('C*',$ord_var_c,
ord($Nar{$c +1}),
ord($Nar{$c +2}));
$c +=2;
$utf16=$this->utf82utf16($char);
$9Wscii .=sprintf('\u%04s',bin2hex($utf16));
break;
case (($ord_var_c &0xF8)==0xF0):
$char=pack('C*',$ord_var_c,
ord($Nar{$c +1}),
ord($Nar{$c +2}),
ord($Nar{$c +3}));
$c +=3;
$utf16=$this->utf82utf16($char);
$9Wscii .=sprintf('\u%04s',bin2hex($utf16));
break;
case (($ord_var_c &0xFC)==0xF8):
$char=pack('C*',$ord_var_c,
ord($Nar{$c +1}),
ord($Nar{$c +2}),
ord($Nar{$c +3}),
ord($Nar{$c +4}));
$c +=4;
$utf16=$this->utf82utf16($char);
$9Wscii .=sprintf('\u%04s',bin2hex($utf16));
break;
case (($ord_var_c &0xFE)==0xFC):
$char=pack('C*',$ord_var_c,
ord($Nar{$c +1}),
ord($Nar{$c +2}),
ord($Nar{$c +3}),
ord($Nar{$c +4}),
ord($Nar{$c +5}));
$c +=5;
$utf16=$this->utf82utf16($char);
$9Wscii .=sprintf('\u%04s',bin2hex($utf16));
break;
}}return '"'.$9Wscii.'"';
case 'array':
if (is_array($Nar) &&count($Nar) &&(array_keys($Nar) !==range(0,sizeof($Nar) -1))) {
$properties=array_map(array($this,'name_value'),
array_keys($Nar),
array_values($Nar));
foreach($properties as $property) {
if(Services_JSON::isError($property)) {
return $property;
}}return '{'.join(',',$properties) .'}';
}$elements=array_map(array($this,'encode'),$Nar);
foreach($elements as $element) {
if(Services_JSON::isError($element)) {
return $element;
}}return '['.join(',',$elements) .']';
case 'object':
$Nars=get_object_vars($Nar);
$properties=array_map(array($this,'name_value'),
array_keys($Nars),
array_values($Nars));
foreach($properties as $property) {
if(Services_JSON::isError($property)) {
return $property;
}}return '{'.join(',',$properties) .'}';
default:
return ($this->use &SERVICES_JSON_SUPPRESS_ERRORS)
?'null'
: new Services_JSON_Error(gettype($Nar)." can not be encoded as JSON string");
}}function name_value($_POSTC4caseame,$MQue){
$d_value=$this->encode($MQue);
if(Services_JSON::isError($d_value)) {
return $d_value;
}return $this->encode(strval($_POSTC4caseame)) .':'.$d_value;
}function reduce_string($else){
$else=preg_replace(array(
'#^\s*//(.+)$#m',
'#^\s*/\*(.+)\*/#Us',
'#/\*(.+)\*/\s*$#Us'),'',$else);
return trim($else);
}function decode($else){
$else=$this->reduce_string($else);
switch (strtolower($else)) {
case 'true':
return true;
case 'false':
return false;
case 'null':
return null;
default:
$m=array();
if (is_numeric($else)) {
return ((float)$else==(integer)$else)
?(integer)$else
: (float)$else;
}elseif (preg_match('/^("|\').*(\1)$/s',$else,$m) &&$m[1]==$m[2]) {
$delim=substr($else,0,1);
$chrs=substr($else,1,-1);
$utf8='';
$elselen_chrs=strlen($chrs);
for ($c=0;$c <$elselen_chrs;++$c) {
$substr_chrs_c_2=substr($chrs,$c,2);
$ord_chrs_c=ord($chrs{$c});
switch (true) {
case $substr_chrs_c_2=='\b':
$utf8 .=chr(0x08);
++$c;
break;
case $substr_chrs_c_2=='\t':
$utf8 .=chr(0x09);
++$c;
break;
case $substr_chrs_c_2=='\n':
$utf8 .=chr(0x0A);
++$c;
break;
case $substr_chrs_c_2=='\f':
$utf8 .=chr(0x0C);
++$c;
break;
case $substr_chrs_c_2=='\r':
$utf8 .=chr(0x0D);
++$c;
break;
case $substr_chrs_c_2=='\\"':
case $substr_chrs_c_2=='\\\'':
case $substr_chrs_c_2=='\\\\':
case $substr_chrs_c_2=='\\/':
if (($delim=='"'&&$substr_chrs_c_2 !='\\\'') ||
($delim=="'"&&$substr_chrs_c_2 !='\\"')) {
$utf8 .=$chrs{++$c};
}break;
case preg_match('/\\\u[0-9A-F]{4}/i',substr($chrs,$c,6)):
$utf16=chr(hexdec(substr($chrs,($c +2),2)))
.chr(hexdec(substr($chrs,($c +4),2)));
$utf8 .=$this->utf162utf8($utf16);
$c +=5;
break;
case ($ord_chrs_c >=0x20) &&($ord_chrs_c <=0x7F):
$utf8 .=$chrs{$c};
break;
case ($ord_chrs_c &0xE0)==0xC0:
$utf8 .=substr($chrs,$c,2);
++$c;
break;
case ($ord_chrs_c &0xF0)==0xE0:
$utf8 .=substr($chrs,$c,3);
$c +=2;
break;
case ($ord_chrs_c &0xF8)==0xF0:
$utf8 .=substr($chrs,$c,4);
$c +=3;
break;
case ($ord_chrs_c &0xFC)==0xF8:
$utf8 .=substr($chrs,$c,5);
$c +=4;
break;
case ($ord_chrs_c &0xFE)==0xFC:
$utf8 .=substr($chrs,$c,6);
$c +=5;
break;
}}return $utf8;
}elseif (preg_match('/^\[.*\]$/s',$else) ||preg_match('/^\{.*\}$/s',$else)) {
if ($else{0}=='[') {
$stk=array(SERVICES_JSON_IN_ARR);
$_GETXNreturn=array();
}else {
if ($this->use &SERVICES_JSON_LOOSE_TYPE) {
$stk=array(SERVICES_JSON_IN_OBJ);
$obj=array();
}else {
$stk=array(SERVICES_JSON_IN_OBJ);
$obj=new stdClass();
}}array_push($stk,array('what'=>SERVICES_JSON_SLICE,
'where'=>0,
'delim'=>false));
$chrs=substr($else,1,-1);
$chrs=$this->reduce_string($chrs);
if ($chrs=='') {
if (reset($stk)==SERVICES_JSON_IN_ARR) {
return $_GETXNreturn;
}else {
return $obj;
}}$elselen_chrs=strlen($chrs);
for ($c=0;$c <=$elselen_chrs;++$c) {
$B384while1p=end($stk);
$substr_chrs_c_2=substr($chrs,$c,2);
if (($c==$elselen_chrs) ||(($chrs{$c}==',') &&($B384while1p['what']==SERVICES_JSON_SLICE))) {
$slice=substr($chrs,$B384while1p['where'],($c -$B384while1p['where']));
array_push($stk,array('what'=>SERVICES_JSON_SLICE,'where'=>($c +1),'delim'=>false));
if (reset($stk)==SERVICES_JSON_IN_ARR) {
array_push($_GETXNreturn,$this->decode($slice));
}elseif (reset($stk)==SERVICES_JSON_IN_OBJ) {
$parts=array();
if (preg_match('/^\s*(["\'].*[^\\\]["\'])\s*:\s*(\S.*),?$/Uis',$slice,$parts)) {
$ey=$this->decode($parts[1]);
$MQ=$this->decode($parts[2]);
if ($this->use &SERVICES_JSON_LOOSE_TYPE) {
$obj[$ey]=$MQ;
}else {
$obj->$ey=$MQ;
}}elseif (preg_match('/^\s*(\w+)\s*:\s*(\S.*),?$/Uis',$slice,$parts)) {
$ey=$parts[1];
$MQ=$this->decode($parts[2]);
if ($this->use &SERVICES_JSON_LOOSE_TYPE) {
$obj[$ey]=$MQ;
}else {
$obj->$ey=$MQ;
}}}}elseif ((($chrs{$c}=='"') ||($chrs{$c}=="'")) &&($B384while1p['what'] !=SERVICES_JSON_IN_STR)) {
array_push($stk,array('what'=>SERVICES_JSON_IN_STR,'where'=>$c,'delim'=>$chrs{$c}));
}elseif (($chrs{$c}==$B384while1p['delim']) &&
($B384while1p['what']==SERVICES_JSON_IN_STR) &&
((strlen(substr($chrs,0,$c)) -strlen(rtrim(substr($chrs,0,$c),'\\'))) %2 !=1)) {
array_pop($stk);
}elseif (($chrs{$c}=='[') &&
in_array($B384while1p['what'],array(SERVICES_JSON_SLICE,SERVICES_JSON_IN_ARR,SERVICES_JSON_IN_OBJ))) {
array_push($stk,array('what'=>SERVICES_JSON_IN_ARR,'where'=>$c,'delim'=>false));
}elseif (($chrs{$c}==']') &&($B384while1p['what']==SERVICES_JSON_IN_ARR)) {
array_pop($stk);
}elseif (($chrs{$c}=='{') &&
in_array($B384while1p['what'],array(SERVICES_JSON_SLICE,SERVICES_JSON_IN_ARR,SERVICES_JSON_IN_OBJ))) {
array_push($stk,array('what'=>SERVICES_JSON_IN_OBJ,'where'=>$c,'delim'=>false));
}elseif (($chrs{$c}=='}') &&($B384while1p['what']==SERVICES_JSON_IN_OBJ)) {
array_pop($stk);
}elseif (($substr_chrs_c_2=='') &&($B384while1p['what']==SERVICES_JSON_IN_CMT)) {
array_pop($stk);
$c++;
for ($=$B384while1p['where'];$ <=$c;++$)
$chrs=substr_replace($chrs,' ',$,1);
}}if (reset($stk)==SERVICES_JSON_IN_ARR) {
return $_GETXNreturn;
}elseif (reset($stk)==SERVICES_JSON_IN_OBJ) {
return $obj;
}}}}function isError($,$code=null){
if (class_exists('pear')) {
return PEAR::isError($,$code);
}elseif (is_object($) &&(get_class($)=='services_json_error'||
is_subclass_of($,'services_json_error'))) {
return true;
}return false;
}}if (class_exists('PEAR_Error')) {
class Services_JSON_Error extends PEAR_Error{
function Services_JSON_Error($BM='unknown error',$code=null,
$mode=null,$options=null,$info=null){
parent::PEAR_Error($BM,$code,$mode,$options,$info);
}}}else {
class Services_JSON_Error{
function Services_JSON_Error($BM='unknown error',$code=null,
$mode=null,$options=null,$info=null){
}}};echo '
';?>
Function Calls
None |
Stats
MD5 | a1b427d613b067988aed1efbd5d106c9 |
Eval Count | 0 |
Decode Time | 93 ms |