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);