首页 > 代码库 > php自定义json_encode()和json_decode()函数
php自定义json_encode()和json_decode()函数
json数据大家应该遇到过,json_encode()和json_decode()是php5.0以后加上的内置函数,如果低版本要使用,需加扩展,很多时候我们无权改变服务器的配置,我们只能通过自定义函数来实现这两个函数,其实所有的系统内置函数,基本上我们都是可以自己来定义的。
if (!function_exists(‘json_encode‘)) {function json_encode($array = array()) {if(!is_array($array)) return null;$json = "";$i = 1;$comma = ",";$count = count($array);foreach($array as $k=>$v){if($i==$count) $comma = "";if(!is_array($v)){$v = addslashes($v);$json .= ‘"‘.$k.‘":"‘.$v.‘"‘.$comma;}else{$json .= ‘"‘.$k.‘":‘.json_encode($v).$comma;}$i++;}$json = ‘{‘.$json.‘}‘;return $json;}}if (!function_exists(‘json_decode‘)) {function json_decode($json, $assoc = true) {$comment = false;$out = ‘$x=‘;$json = preg_replace(‘/:([^"}]+?)([,|}])/i‘, ‘:"\1″\2′, $json);for ($i=0; $i<strlen($json); $i++) {if (!$comment) {if (($json[$i] == ‘{‘) || ($json[$i] == ‘[‘)) {$out .= ‘array(‘;}elseif (($json[$i] == ‘}‘) || ($json[$i] == ‘]‘)) {$out .= ‘)‘;}elseif ($json[$i] == ‘:‘) {$out .= ‘=>‘;}elseif ($json[$i] == ‘,‘) {$out .= ‘,‘;}elseif ($json[$i] == ‘"‘) {$out .= ‘"‘;}}else $out .= $json[$i] == ‘$‘ ? ‘\$‘ : $json[$i];if ($json[$i] == ‘"‘ && $json[($i-1)] != ‘\\‘) $comment = !$comment;}eval($out. ‘;‘);return $x;}}
php自定义json_encode()和json_decode()函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。