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

json_encode()函数用法:

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?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格式的结果,比如:

?
1
2
3
4
5
6
7
8
9
{
"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' => '获取系统参数成功'));

代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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);

运行结果为:

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

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

转载于:https://www.cnblogs.com/wang1204/p/6055224.html

php返回json数据函数实例相关推荐

  1. flask返回json数据到前端_小白学Flask第六天| abort函数、自定义错误方法、视图函数的返回值...

    点击蓝色字关注我们! 一个正在努力变强的公众号 本文内容: 1. abort函数的使用 2. 自定义错误处理方法 3. 设置响应信息的方法 4. 返回json数据的方法 abort函数的使用 abor ...

  2. jquery的ajax异步请求接收返回json数据

    jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发送设置的datatype设置为jsonp格式数据或json格式都可以.这篇文 ...

  3. java调用远程 接口_java通过url调用远程接口返回json数据

    java通过url调用远程接口返回json数据,有用户名和密码验证, 转自 https://blog.csdn.net/wanglong1990421/article/details/78815856 ...

  4. Flask框架(flask中设置响应信息的方法,返回json数据的方法)

    设置响应信息的方法 1.  返回自定义的响应头,有两种方式: (1)  第一种是:视图函数return的时候,使用元组,返回自定义的信息           返回的时候的状态码可以自定义信息:&quo ...

  5. 从源代码角度看Struts2返回JSON数据的原理

    2019独角兽企业重金招聘Python工程师标准>>> 前面一篇文章其实只是介绍了如何在Struts2中返回JSON数据到客户端的具体范例而无关其原理,内容与标题不符惹来标题党嫌疑确 ...

  6. return 输出为空php,thinkphp5 返回json数据的方法---以及返回json为空的原因

    thinkphp5 返回json数据为空的解决方法 1.用SoapUI来测试借口,Content-Type不是json,而是text/html: 2.自己的接口,最后的数据用了json_encode, ...

  7. JavaWeb-----Ajax异步请求 json对象 服务器如何返回json数据 使用ajax完成一个案例

    1. 回顾 1. servlet的生命周期: 2. filter: 过滤放行和拦截一些资源.比如:黑白名单,登录校验,编码设置等.    (1)创建一个类并实现Filter接口以及重写接口的抽象方法 ...

  8. ajax请求Struts2返回JSON数据方法

    如果是作为客户端的HTTP+JSON接口工程,没有JSP等view视图的情况下,使用Jersery框架开发绝对是第一选择.而在基于Spring3 MVC的架构下,对HTTP+JSON的返回类型也有很好 ...

  9. Winform中怎样使用HttpClient调用http的get和post接口并将接口返回json数据解析为实体类

    场景 需要在Winform的页面初始化之后,调用http的接口,并将返回的json数据 解析,赋值到窗体中的TextBox组件中. 使用接口测试工具测试的接口返回数据如下 注: 博客: 霸道流氓气质的 ...

最新文章

  1. Consul入门01 - 安装Consul
  2. mysql xa 和普通事务_一文看懂MySQL中基于XA实现的分布式事务
  3. 解决问题的经验-javaweb-第一次-已掌握技术栈大致总结(部分),和相关理解,总结,以及对未来学习方向的规划
  4. 【Java文件操作(六)】借助内存复制图片:ByteArrayOutputStream\ByteArrayInputStream\FileOutputStream\FileInputStream辨析
  5. spring boot配置druid(德鲁伊)
  6. jquery ajax 设置header的方式
  7. 案例:演示out对象的使用及原理分析
  8. JAVA面试--电商业内大厂
  9. hdu 3853 概率dp
  10. 《人月神话》之外科手术队伍
  11. android 的mvp架构,老生常谈Android的MVP架构
  12. 数据库视图view简介
  13. ChatGPT中文网
  14. 课件演示用什么软件?万兴录演:多种录屏方式任你选
  15. 车联网2022上半年“十四五”规划大盘点
  16. 北京高中计算机会考大纲,高中计算机会考大纲
  17. 珠峰登顶在即,5G如何先行?
  18. 微信小程序地图移动选点
  19. Java实例实验项目大全源码企业通讯打印系统计划酒店图书学生管理进销存商城门户网站五子棋
  20. sa是什么岗位的简称_【岗位分析】95%岗位免基层工作经历 |广西公务员考试(钦州市)历年招录岗位分析!(结尾附上岸干货)...

热门文章

  1. 在VC资源文件中加入声音资源
  2. 动态加载Fbx模型文件
  3. UIWindowLevel详解
  4. [转]Effective C#原则4:用条件属性而不是#if
  5. 投票选择eclipse.org的新界面
  6. vscode php插件_vscode+phpstudy+xdebug无法断点(踩坑记)
  7. 防红直连php,【源码资源】20新PHP网址缩短防封防红短网址生成系统
  8. Java并发编程实战_不愧是领军人物!这种等级的“Java并发编程宝典”谁能撰写?...
  9. 山西专科学校计算机专业排名,河南单招计算机专业专科学校排名
  10. no such file or directory什么意思_为什么这次 MySQL 崩溃恢复要这么久-爱可生