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 相关文章推荐
写一个用户在线显示的程序
Oct 09 PHP
推荐php模板技术[转]
Jan 04 PHP
PHP 伪静态隐藏传递参数名的四种方法
Feb 22 PHP
工厂模式在Zend Framework中应用介绍
Jul 10 PHP
PHP 登录完成后如何跳转上一访问页面
Jan 14 PHP
php结合web uploader插件实现分片上传文件
May 10 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
Jul 14 PHP
PHP实现带重试功能的curl连接示例
Jul 28 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
Feb 28 PHP
PHP回调函数简单用法示例
May 08 PHP
Yii框架中使用PHPExcel的方法分析
Jul 25 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之require/include顺序 推荐
2011/01/02 PHP
php实现粘贴截图并完成上传功能
2015/05/17 PHP
php使用curl并发减少后端访问时间的方法分析
2016/05/12 PHP
Ajax和PHP正则表达式验证表单及验证码
2016/09/24 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
js的with语句使用方法
2007/09/21 Javascript
基于jQuery的仿flash的广告轮播代码
2010/11/04 Javascript
jquery jqPlot API 中文使用教程(非常强大的图表工具)
2011/08/15 Javascript
jQuery EasyUI API 中文文档 - EasyLoader 加载器
2011/09/29 Javascript
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
2013/04/15 Javascript
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
js操纵dom生成下拉列表框的方法
2014/02/24 Javascript
js实现按一下删除键删除整个单词附demo
2014/09/05 Javascript
js获取域名的方法
2015/01/27 Javascript
分享一个自己写的简单的javascript分页组件
2015/02/15 Javascript
Jquery实现鼠标移动放大图片功能实例
2015/03/25 Javascript
jQuery焦点图左右转换效果
2016/12/12 Javascript
提升页面加载速度的插件InstantClick
2017/09/12 Javascript
使用validate.js实现表单数据提交前的验证方法
2018/09/04 Javascript
koa大型web项目中使用路由装饰器的方法示例
2019/04/02 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
JS出现404错误原理及解决方案
2020/07/01 Javascript
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
[10:24]郎朗助力完美“圣”典,天籁交织奏响序曲
2016/12/18 DOTA
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
Web服务器框架 Tornado简介
2014/07/16 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
Tensorflow 多线程与多进程数据加载实例
2020/02/05 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
国际领先的在线时尚服装和配饰店:DressLily
2019/03/03 全球购物
法国在线药房:1001Pharmacies
2021/03/07 全球购物
J2ee常用的设计模式?说明工厂模式
2015/05/21 面试题
离职保密承诺书
2014/05/28 职场文书
小学生六年级作文之关于感恩
2019/08/16 职场文书
Spring mvc是如何实现与数据库的前后端的连接操作的?
2021/06/30 Java/Android