/** * "private static" method, * checks if input var is not an object or an array then converts correct value. * NOTE: it's quite a non-sense but json_decode doesn't accept primitive variables then * this method is "paranoia style" */ function __rawjsonencode(&$input) { if (is_array($input) || is_object($input)) { $input = JSON::__encode($input); } elseif (is_string($input) || is_float($input) || is_int($input) || is_bool($input) || is_null($input)) { $input = substr(JSON::__encode(array($input)), 1, -1); } else { $input = 'null'; } return $input; }