json_encode替代函数
来源:互联网 发布:达内软件科技有限公司 编辑:程序博客网 时间:2024/05/22 12:29
文章来源:http://www.kaifadi.com/php/288.html
大家都知道PHP里有一个很好用的JSON函数,json_encode,但是这个函数只有PHP5.2以上版本才支持,如果服务器版本是5.2以下版本的话无法使用,传统方法是手动拼接字符,然后前端eval,但是这种处理方法效率低,而且麻烦,可以考虑使用如下函数代替json_encode,经过本人测试,绝对好用!但是前端需要多加一道解码函数decodeURI或decodeURIComponent等进行解码!具体替代函数代码,请参考:
后台替代函数:jsonEncode(此函数为他人所写,在此只是调用演示)
<?phpfunction jsonEncode($var) { if (function_exists('json_encode')) { return json_encode($var); } else { switch (gettype($var)) { case 'boolean': return $var ? 'true' : 'false'; // Lowercase necessary! case 'integer': case 'double': return $var; case 'resource': case 'string': return '"'. str_replace(array("\r", "\n", "<", ">", "&"), array('\r', '\n', '\x3c', '\x3e', '\x26'), addslashes($var)) .'"'; case 'array': // Arrays in JSON can't be associative. If the array is empty or if it // has sequential whole number keys starting with 0, it's not associative // so we can go ahead and convert it as an array. if (empty ($var) || array_keys($var) === range(0, sizeof($var) - 1)) { $output = array(); foreach ($var as $v) { $output[] = jsonEncode($v); } return '[ '. implode(', ', $output) .' ]'; } // Otherwise, fall through to convert the array as an object. case 'object': $output = array(); foreach ($var as $k => $v) { $output[] = jsonEncode(strval($k)) .': '. jsonEncode($v); } return '{ '. implode(', ', $output) .' }'; default: return 'null'; } }}$arr=array('name'=>'CSDN论坛','degree'=>'numberone');echo jsonEncode($arr);?>
前端调用:以$.ajax为例:
$.ajax( url:'后台php文件名', type:'GET', dataType:'json', success:function(data){ decodeURI(data.name);//如果PHP为5.2以上版本,这里可以不用加decodeURI解码,但是5.2以下必须加。区别于此,请注意! }如果使用上遇到问题,可以和我联系!
- json_encode替代函数
- json_encode替代函数
- json_encode 函数
- PHP json_encode() 函数介绍
- PHP json_encode() 函数介绍
- PHP json_encode() 函数介绍
- PHP json_encode() 函数介绍
- PHP json_encode() 函数介绍
- PHP json_encode() 函数介绍
- PHP json_encode() 函数
- PHP json_encode() 函数介绍
- 【json】json_encode() 函数介绍
- PHP json_encode() 函数介绍
- PHP json_encode() 函数介绍
- PHP json_encode() 函数介绍
- PHP json_encode() 函数介绍
- PHP json_encode() 函数介绍
- PHP json_encode() 函数介绍
- 2011-7-31 11:03:57
- 改变gridView编辑姿态下textBox的宽度
- android 获取屏幕大小
- js模拟点击那点事
- 解决使用pthread_create函数造成的内存泄露
- json_encode替代函数
- 基于用户管理的备份与恢复
- spring与jdbc的整合
- 心情随笔
- spring与struts的整合方式一
- 集训概况
- spring与struts整合方式二
- 研发素质模型
- 每个.Net开发者现在应该下载的十个必备工具!