如:
PHP:
$qnlist = $this->qn_db->select();
echo json_cn($qnlist)
javascript:
$.post(url,{},function(data){
alert(data[0].name)
},'json');
php端用到的函数,主要是对含有中文的数组进行json转换:
/**
* 使用特定function对数组中所有元素做处理
* @param string &$array 要处理的字符串
* @param string $function 要执行的函数
* @param boolean $apply_to_keys 是否也应用到key上
* @return 处理后的数组
**/
function arrayRecursive(&$array, $function, $apply_to_keys = false){
static $recursive_counter = 0;
if (++$recursive_counter > 1000) {
die('possible deep recursion attack');
}
foreach ($array as $key => $value) {
if (is_array($value)) {
arrayRecursive($array[$key], $function, $apply_to_keys);
} else {
$array[$key] = $function($value);
}
if ($apply_to_keys && is_string($key)) {
$new_key = $function($key);
if ($new_key != $key) {
$array[$new_key] = $array[$key];
unset($array[$key]);
}
}
}
$recursive_counter--;
}
/**
* 对包含有中文的数组进行json转换
* */
function json_cn($array){
arrayRecursive($array, 'urlencode', true);
return urldecode(json_encode($array));
}