当前位置: 首页 > news >正文

JSON方式封装通信接口

1.封装通信接口数据的方法

 

 2.

案例:生成json

注意:json_encode() 只能接收utf-8数据

测试:

<?php
$arr = array(
    'id'=>1,
    'name'=>'zhangsan'
);
echo json_encode($arr);

返回:{"id":1,"name":"zhangsan"}

继续:

<?php
$arr = array(
    'id'=>1,
    'name'=>'zhangsan'
);
$data = "输出json数据";
$newdata = iconv('UTF-8','GBK',$data);
echo json_encode($newdata); //返回空

 3.

 

 4.如何封装json数据方法:demo:

<?php
class Response{
    /**
     * [json description]
     * @param  按照json数控输出通信数据
     * @param  integer $code 状态吗
     * @param  string  $message 提示信息
     * @param  array   $data 数据
     * @return string
     * 
     */
    public  static function json($code,$message='',$data=array()){
        if(!is_numeric($code)){
            return '';
        }
        $result = array(
            'code' => $code,
            'message' =>$message,
            'data' =>$data
        );
        echo json_encode($result); //记住必须echo
        exit;
    }
}

 

//新建一个test.php 调用Response下的json方法

 

<?php
require_once('./response.php'); 
$arr = array(
    'id' => 1,
    'name' =>'zhansan'
);

Response:json(200,'数据返回成功',$arr);

 

相关文章:

  • 组托管服务帐户(Group Managed Service Accounts,即gMSAs)
  • webpack配置(第四步:html篇(进阶篇))
  • 关于音频文件的上传
  • 技术工坊|解密区块链DApp的代码逻辑,从请求到数据存储都要经历什么?(上海)...
  • bzoj 3670 [Noi2014]动物园
  • 开源PaaS Rainbond v3.6.0正式发布,Service Mesh开箱即用
  • caffe源码学习
  • 切图常用的布局和效果
  • signalr使用websocket报500错误
  • 获取免费代理推荐
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • inno安装
  • Vue命令行工具vue-cli
  • A-Treepath//dfs
  • OO第四次博客
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Docker入门(二) - Dockerfile
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • Java 内存分配及垃圾回收机制初探
  • JAVA_NIO系列——Channel和Buffer详解
  • javascript 总结(常用工具类的封装)
  • Java比较器对数组,集合排序
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • passportjs 源码分析
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • Xmanager 远程桌面 CentOS 7
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 简单易用的leetcode开发测试工具(npm)
  • 利用jquery编写加法运算验证码
  • 目录与文件属性:编写ls
  • 使用common-codec进行md5加密
  • 译有关态射的一切
  • ​ssh免密码登录设置及问题总结
  • # Panda3d 碰撞检测系统介绍
  • (03)光刻——半导体电路的绘制
  • (1)Nginx简介和安装教程
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (Oracle)SQL优化技巧(一):分页查询
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (四)模仿学习-完成后台管理页面查询
  • (一)Neo4j下载安装以及初次使用
  • (转)人的集合论——移山之道
  • ***监测系统的构建(chkrootkit )
  • . NET自动找可写目录
  • .libPaths()设置包加载目录
  • .Net CF下精确的计时器
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .net 微服务 服务保护 自动重试 Polly
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .net网站发布-允许更新此预编译站点
  • .pop ----remove 删除
  • @javax.ws.rs Webservice注解