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 Document 代码注释规范
Apr 13 PHP
php 获取本机外网/公网IP的代码
May 09 PHP
php $_SERVER[&quot;REQUEST_URI&quot;]获取值的通用解决方法
Jun 21 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
Dec 29 PHP
php下载文件的代码示例
Jun 29 PHP
PHP JS Ip地址及域名格式检测代码
Sep 27 PHP
浅谈PHP Cookie处理函数
Jun 10 PHP
php array_values 返回数组的所有值详解及实例
Nov 12 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
Feb 08 PHP
PHP安装memcache扩展的步骤讲解
Feb 14 PHP
vmware linux系统安装最新的php7图解
Apr 14 PHP
laravel框架的安装与路由实例分析
Oct 11 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
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
浅析javascript操作 cookie对象
2014/12/26 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
JavaScript数据类型之基本类型和引用类型的值
2015/04/01 Javascript
JavaScript中的cacheStorage使用详解
2015/07/29 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
2016/08/10 Javascript
JavaScript中日常收集常见的10种错误(推荐)
2017/01/08 Javascript
JS实现碰撞检测的方法分析
2018/01/19 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
JavaScript fetch接口案例解析
2018/08/30 Javascript
node.js使用redis储存session的方法
2018/09/26 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
vue elementUI使用tabs与导航栏联动
2019/06/21 Javascript
javascript实现blob加密视频源地址的方法
2019/08/08 Javascript
使用typescript改造koa开发框架的实现
2020/02/04 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
python3使用urllib模块制作网络爬虫
2016/04/08 Python
全面了解python字符串和字典
2016/07/07 Python
Python实现PS滤镜的万花筒效果示例
2018/01/23 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
pandas 实现字典转换成DataFrame的方法
2018/07/04 Python
python内置数据类型之列表操作
2018/11/12 Python
python基于SMTP协议发送邮件
2019/05/31 Python
在python tkinter中Canvas实现进度条显示的方法
2019/06/14 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
2019/10/17 Python
Python 实现顺序高斯消元法示例
2019/12/09 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
2020/02/12 Python
使用opencv中匹配点对的坐标提取方式
2020/06/04 Python
详解python方法之绑定方法与非绑定方法
2020/08/17 Python
台湾乐天市场:日本No.1的网路购物网站
2017/03/22 全球购物
秘书专业自荐信范文
2013/12/26 职场文书
团组织推优材料
2014/12/29 职场文书
用几道面试题来看JavaScript执行机制
2021/04/30 Javascript
Python实现简单的俄罗斯方块游戏
2021/09/25 Python