php对json的操作类的使用方法,这个类主要是包含有数组转为json,json转为数组的方法
<?php class Json { public function encode($str) { $code = json_encode ( $str ); return preg_replace ( "#\\\u([0-9a-f]{4})#ie", "iconv('UCS-2', 'UTF-8', pack('H4', '\\1'))", $code ); //其中UCS-2 编码中格式是u后面有4个数字或者字母,iconv函数将UCS-2转换为UTF-8,pack() 函数把数据装入一个二进制字符串。H4表示十六进制装入4个(解释成某种形式的重复计数或者长度)。 } public function decode($str) { return json_decode ( $str ); } /** * 将json转换为数组 * Enter description here ... * @param unknown_type $web json字符串 */ function json_to_array($web) { $arr = array (); foreach ( $web as $k => $w ) { if (is_object ( $w )) $arr [$k] = $this->json_to_array ( $w ); //判断类型是不是object else $arr [$k] = $w; } return $arr; } /** * 将urlencode 转换为数组 * Enter description here ... * @param urlencode(json格式) */ function urlcode_to_array($web) { $reg = get_magic_quotes_gpc () ? stripcslashes ( rawurldecode ( $web ) ) : rawurldecode ( $web ); //看看字符串是否含有转义字符 $reginfo = json_decode ( $reg ); //解析json格式 $reginfo = $this->json_to_array ( $reginfo ); //将json格式转换为数组形式 return $reginfo; } } ?>
使用方法直接实实例化json以后就可以直接调用了,返回数组或者json字符串
$json=new Json(); $user_array=array('username'=>'huanghaiping','sex'=>'男'); //转为json echo $json->encode($user_array);