如何将一个中文数组转换为json格式
展开全部
工作中常常遇到这样的问题:想把一个字符串转换为json格式,但是直接用php自带的json_encode(),会出现乱码,怎么办呢?
不要急,下面这个函数可以解决这个问题。
function ch_json_encode($data) {
function ch_urlencode($data) {
if (is_array ( $data ) || is_object ( $data )) {
foreach ( $data as $k => $v ) {
if (is_scalar ( $v )) {
if (is_array ( $data )) {
$data [$k] = urlencode ( $v );
} else if (is_object ( $data )) {
$data->$k = urlencode ( $v );
}
} else if (is_array ( $data )) {
$data [$k] = ch_urlencode ( $v ); // 递归调用该函数
} else if (is_object ( $data )) {
$data->$k = ch_urlencode ( $v );
}
}
}
return $data;
}
$ret = ch_urlencode ( $data );
$ret = json_encode ( $ret );
return urldecode ( $ret );
}
不要急,下面这个函数可以解决这个问题。
function ch_json_encode($data) {
function ch_urlencode($data) {
if (is_array ( $data ) || is_object ( $data )) {
foreach ( $data as $k => $v ) {
if (is_scalar ( $v )) {
if (is_array ( $data )) {
$data [$k] = urlencode ( $v );
} else if (is_object ( $data )) {
$data->$k = urlencode ( $v );
}
} else if (is_array ( $data )) {
$data [$k] = ch_urlencode ( $v ); // 递归调用该函数
} else if (is_object ( $data )) {
$data->$k = ch_urlencode ( $v );
}
}
}
return $data;
}
$ret = ch_urlencode ( $data );
$ret = json_encode ( $ret );
return urldecode ( $ret );
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询