Files
PHPApp/obj-json-b64-codecs.php
2019-03-26 16:08:58 +01:00

83 lines
2.4 KiB
PHP

<?php
function JSON_parse($input){ // JSON STRING to ARRAY (alterego js "JSON_parse")
try{
$array = json_decode($input, true);
//return $JSON_values_decode($array);
return JSON_values_decode($array);
} catch (Exception $ex){return null;}
/*
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo ' - No errors';
break;
case JSON_ERROR_DEPTH:
echo ' - Maximum stack depth exceeded';
break;
case JSON_ERROR_STATE_MISMATCH:
echo ' - Underflow or the modes mismatch';
break;
case JSON_ERROR_CTRL_CHAR:
echo ' - Unexpected control character found';
break;
case JSON_ERROR_SYNTAX:
echo ' - Syntax error, malformed JSON';
break;
case JSON_ERROR_UTF8:
echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
break;
default:
echo ' - Unknown error';
break;
}
*/
}
function JSON_stringify($input){
try{
$string = json_encode(JSON_values_encode($input));
return $string;
} catch (Exception $ex){return null;}
}
function JSON_values_encode($input){ // CODIFICA ARRAY (alterego js "array_encode")
try{
$output = null;
if(is_array($input)){
foreach($input as $var => $val){
$output[$var] = JSON_values_encode($val);
}
} else{
$output = urlencode($input);
}
return $output;
} catch (Exception $ex){return null;}
}
function JSON_values_decode($input){ // DECODIFICA ARRAY (alterego js "array_decode")
try{
if(is_array($input)){
foreach($input as $var => $val){
$output[$var] = JSON_values_decode($val);
}
} else{
$output = urldecode($input);
//print_r($input." - ".$output."<br/>");
}
return $output;
} catch (Exception $ex){return null;}
}
function B64JSON_parse($input){ // B64 to JSON STRING to ARRAY (alterego js "B64JSON_parse")
try{
return JSON_parse(base64_decode($input));
} catch (Exception $ex){return null;}
}
function B64JSON_stringify($input){ // ARRAY to JSON STRING to B64 (alterego js "B64JSON_stringify")
try{
return base64_encode(json_encode($input));
} catch (Exception $ex){return null;}
}