php返回json数据函数实例


Posted in PHP onOctober 09, 2014

本文实例讲述了php返回json数据函数的用法,分享给大家供大家参考。具体方法如下:

json_encode()函数用法:

echo json_encode(array('a'=>'bbbb','c'=>'ddddd');

这样就会生成一个标准的json格式的数据

<?php
//需要执行的SQL语句
//单条
$sql="select id,name from tbl_user where id=1";
//多条数据
//$sql="select id,name from tbl_user";
//调用conn.php文件进行数据库操作 
require('Conn.php');
//提示操作成功信息,注意:$result存在于conn.php文件中,被调用出来 
if($result) 
{
// $array=mysql_fetch_array($result,MYSQL_ASSOC);
 
 
 /*数据集
 $users=array();
 $i=0;
 while($row=mysql_fetch_array($result,MYSQL_ASSOC)){
 echo $row['id'].'-----------'.$row['name'].'</br>';
 $users[$i]=$row;
 $i++;
 }
 echo json_encode(array('dataList'=>$users));
 */
 /*单条数据*/
 $row=mysql_fetch_row($result,MYSQL_ASSOC);
 
 echo json_encode(array('jsonObj'=>$row));
}
mysql_free_result($result);
//释放结果
mysql_close();
//关闭连接
?>

上面是数据库生成json数据
单条数据:{"jsonObj":{"id":"1","name":"lmw"}}
多条数据:{"dataList":[{"id":"1","name":"lmw"},{"id":"2","name":"xxj"},{"id":"3","name":"xxxj"}]}

现在很多情况下,我们需要程序返回一个Json格式的结果,比如:

{
"UserKeyGetResponse":
{"RequestName":"e99e6d63e8c712d7699f52978a","api_key_value":"41954dd9b1cb6a95802eab6810"},
"error_response":
{"code":"NO_ERROR","msg":"获取系统参数成功"}
}
可以将结果写成这样的数组形式:
$respon = array('UserKeyGetResponse' => array('RequestName' => $api_request_name, 'api_key_value' => $api_key_value),
'error_response' => array('code' => 'NO_ERROR', 'msg' => '获取系统参数成功'));

代码如下:

function arrayRecursive(&$array, $function, $apply_to_keys_also = 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_also);
  } else {
   $array[$key] = $function($value);
  }
  if ($apply_to_keys_also && is_string($key)) {
   $new_key = $function($key);
   if ($new_key != $key) {
    $array[$new_key] = $array[$key];
    unset($array[$key]);
   }
  }
 }
 $recursive_counter--;
}
g:
$error_respon = array('code' => 'ERROR_MSG_MISS', 'msg' => '消息不存在');
echo JSON($array);

运行结果为:

{"code":"ERROR_MSG_MISS","msg":"消息不存在"}

客户端就可以解析这个结果了,当然错误码要用数字代替。
这样就好多了我们显示的直接是中文了,当然显示那个16进制的编码也是没有问题的。

PHP 相关文章推荐
用PHP实现读取和编写XML DOM代码
Apr 07 PHP
PHP程序员面试 切忌急功近利(更需要注重以后的发展)
Sep 01 PHP
PHP代码优化之成员变量获取速度对比
Feb 28 PHP
简单实用的PHP防注入类实例
Dec 05 PHP
PHP判断字符串长度的两种方法很实用
Sep 22 PHP
php开发工具有哪五款
Nov 09 PHP
Zend Framework教程之Zend_Config_Ini用法分析
Mar 23 PHP
php htmlentities()函数的定义和用法
May 13 PHP
php opendir()列出目录下所有文件的实例代码
Oct 02 PHP
php使用curl下载指定大小的文件实例代码
Sep 30 PHP
php生成静态页面并实现预览功能
Jun 27 PHP
PHP操作XML中XPath的应用示例
Jul 04 PHP
php常用的安全过滤函数集锦
Oct 09 #PHP
自定义session存储机制避免会话保持问题
Oct 08 #PHP
PHP定时任务延缓执行的实现
Oct 08 #PHP
在Win7 中为php扩展配置Xcache
Oct 08 #PHP
在win7中搭建Linux+PHP 开发环境
Oct 08 #PHP
两千行代码的PHP学习笔记汇总
Oct 05 #PHP
PHP实现定时执行任务的方法
Oct 05 #PHP
You might like
PHP 编程的 5个良好习惯
2009/02/20 PHP
php数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
php使用cookie保存用户登录的用户名实例
2015/01/26 PHP
PHP编程之设置apache虚拟目录
2016/07/08 PHP
PHP设计模式之工厂模式实例总结
2017/09/01 PHP
php中yii框架实例用法
2020/12/22 PHP
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
JavaScript 事件参考手册
2008/12/24 Javascript
jQuery 获取URL参数的插件
2010/03/04 Javascript
js对象数组按属性快速排序
2011/01/31 Javascript
jQuery LigerUI 使用教程入门篇
2012/01/18 Javascript
JS 页面计时器示例代码
2013/10/28 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
元素未显示设置width/height时IE中使用currentStyle获取为auto
2014/05/04 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
jQuery实现列表的全选功能
2015/03/18 Javascript
jQuery实现为图片添加镜头放大效果的方法
2015/06/25 Javascript
详解JavaScript的表达式与运算符
2015/11/30 Javascript
js实现的万能flv网页播放器代码
2016/04/30 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
Vue实现Layui的集成方法步骤
2020/04/10 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
Element-ui 自带的两种远程搜索(模糊查询)用法讲解
2021/01/29 Javascript
[01:01]青春无憾,一战成名——DOTA2全国高校联赛开启
2018/02/25 DOTA
[54:10]完美世界DOTA2联赛PWL S2 Magma vs FTD 第二场 11.29
2020/12/03 DOTA
python 远程统计文件代码分享
2015/05/14 Python
python实现一组典型数据格式转换
2018/12/15 Python
Python坐标轴操作及设置代码实例
2020/06/04 Python
Python sklearn中的.fit与.predict的用法说明
2020/06/28 Python
详解canvas多边形(蜘蛛图)的画法示例
2018/01/29 HTML / CSS
印度最大的网上花店:Ferns N Petals(鲜花、礼品和蛋糕)
2017/10/16 全球购物
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
2014/08/09 面试题
描述JSP和Servlet的区别、共同点、各自应用的范围
2012/10/02 面试题
岗位廉洁从政承诺书
2014/03/27 职场文书
勿忘国耻9.18演讲稿(经典篇)
2014/09/14 职场文书
大学生敬老院活动总结
2015/05/07 职场文书