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编写的导航条程序
Oct 09 PHP
PHP set_time_limit(0)长连接的实现分析
Mar 02 PHP
一个基于PDO的数据库操作类
Mar 24 PHP
修改php.ini以达到屏蔽错误信息并记录日志
Jun 16 PHP
ThinkPHP缓存方法S()概述
Jun 13 PHP
php递归函数三种实现方法及如何实现数字累加
Aug 07 PHP
详解WordPress中给链接添加查询字符串的方法
Dec 18 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
Jan 05 PHP
Yii实现的多级联动下拉菜单
Jul 13 PHP
PHP上传文件及图片到七牛的方法
Jul 25 PHP
实例介绍PHP删除数组中的重复元素
Mar 03 PHP
PhpSpreadsheet设置单元格常用操作汇总
Nov 13 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中在数据库中保存Checkbox数据(1)
2006/10/09 PHP
php生成文件
2007/01/15 PHP
PHP中的正则表达式实例详解
2017/04/25 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
javascript document.images实例
2008/05/27 Javascript
JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
2010/05/25 Javascript
Jquery的each里用return true或false代替break或continue
2014/05/21 Javascript
js css 实现遮罩层覆盖其他页面元素附图
2014/09/22 Javascript
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
JavaScript实现实时更新系统时间的实例代码
2017/04/04 Javascript
基于 webpack2 实现的多入口项目脚手架详解
2017/06/26 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
微信头像地址失效踩坑记附带解决方案
2019/09/23 Javascript
vue设置导航栏、侧边栏为公共页面的例子
2019/11/01 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
python列表与元组详解实例
2013/11/01 Python
python分析nignx访问日志脚本分享
2015/02/26 Python
详解Python多线程Selenium跨浏览器测试
2017/04/01 Python
Python排序搜索基本算法之希尔排序实例分析
2017/12/09 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
2018/06/22 Python
python多进程实现文件下载传输功能
2018/07/28 Python
3种python调用其他脚本的方法
2020/01/06 Python
基于Python实现粒子滤波效果
2020/12/01 Python
全面介绍python中很常用的单元测试框架unitest
2020/12/14 Python
python实现发送QQ邮件(可加附件)
2020/12/23 Python
Probikekit欧盟:在线公路自行车专家
2019/07/12 全球购物
奥运会口号
2014/06/13 职场文书
食品安全处置方案
2014/06/14 职场文书
学生未请假就回家检讨书
2014/09/22 职场文书
万能检讨书
2015/01/27 职场文书
人与自然观后感
2015/06/16 职场文书
2015年小学教师培训工作总结
2015/07/21 职场文书
MySQL系列之十一 日志记录
2021/07/02 MySQL
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫
Springboot集成kafka高级应用实战分享
2022/08/14 Java/Android