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数组函数
Aug 18 PHP
解析用PHP读写音频文件信息的详解(支持WMA和MP3)
May 10 PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
Jun 27 PHP
php格式化日期和时间格式化示例分享
Feb 24 PHP
php防止网站被刷新的方法汇总
Dec 01 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
Jan 04 PHP
PHP中imagick函数的中文解释
Jan 21 PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
Jun 17 PHP
PHP实现数组array转换成xml的方法
Jul 19 PHP
PHP简单读取PDF页数的实现方法
Jul 21 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 PHP
PHP中的empty、isset、isnull的区别与使用实例
Mar 22 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 和 HTML
2006/10/09 PHP
PHP 日期时间函数的高级应用技巧
2009/10/10 PHP
PHP三层结构(上) 简单三层结构
2010/07/04 PHP
深入PHP与浏览器缓存的分析
2013/06/03 PHP
PHP 获取文件权限函数介绍
2013/07/11 PHP
使用PHP实现阻止用户上传成人照片或者裸照
2014/12/25 PHP
JS 实现完美include载入实现代码
2010/08/05 Javascript
面向对象继承实例(a如何继承b问题)(自写)
2013/07/01 Javascript
jquery实现简单易懂的图片展示小例子
2013/11/21 Javascript
在jQuery中处理XML数据的大致方法
2015/08/14 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
JavaScript组件开发之输入框加候选框
2017/03/10 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
2017/07/31 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
Vue中的v-for循环key属性注意事项小结
2018/08/12 Javascript
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
2019/05/18 Javascript
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
python函数装饰器用法实例详解
2015/06/04 Python
Python mutiprocessing多线程池pool操作示例
2019/01/30 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
Python编写单元测试代码实例
2020/09/10 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
flask框架中的cookie和session使用
2021/01/31 Python
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
香蕉共和国加拿大官网:Banana Republic加拿大
2018/08/06 全球购物
美国乒乓球设备、配件和服装品牌:Killerspin
2020/06/07 全球购物
网络通讯中,端口有什么含义,端口的取值范围
2012/11/23 面试题
《油菜花开了》教学反思
2014/02/22 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
工商局调档介绍信
2015/10/22 职场文书
Python爬虫进阶之Beautiful Soup库详解
2021/04/29 Python
MySQL优化及索引解析
2022/03/17 MySQL
使用JS前端技术实现静态图片局部流动效果
2022/08/05 Javascript