文档章节

小蚂蚁学习APP接口开发(1)—— json方式封装通信接口

嗜学如命的小蚂蚁
 嗜学如命的小蚂蚁
发布于 2015/10/13 16:40
字数 473
阅读 1038
收藏 8

    前段时间,和公司的一个安卓程序员配合开发一款简单的APP,因为第一次写,时间也紧张,总感觉写的不是那么的完美,趁着这段时间好好总结一下经验。

对于APP的请求,服务器返回的数据类型一般是json和xml。

xml和json的区别:

  1. 可读性方面——xml占优。因为它是有很多个节点组成的,节点的名称可以自定义。

  2. 生成数据方面——json占优。在PHP中要生成一条json数据,只需要一个内置函数就可以实现,而xml则需要拼接字符串或者实例化对象才能够实现,所以,json更为简便一些。

  3. 传输速度方面——还是json占优。简单来看,生成json的字符串长度远远要小于生成的xml字符串的长度,当然,字符串越小,越有利于数据的传输。

通信数据的格式 :

    code    状态码    如: 200代表成功,400代表失败,这些都是可以自定义。

    message    提示信息    如:手机号码不正确,等等。

    data     返回的数据信息

json方式封装通信接口的代码案例:

<?php
class Response{
	
	/***********************************
	*	返回json格式数据
	*	$param 	integer 	$code
	*	$param 	string  	$message
	*	$param 	array   	$data
	*	return json
	*
	******************************/
	public static function json($code,$message='',$data=array()){
		
		//做出一个验证,如果不是数字,就返回空
		if(!is_numeric($code)){
			return '';
		}

		//把穿进来的三个值,组装成一个数组
		$result	=	array(
			'code'		=>	$code,
			'message'	=>	$message,
			'data'		=>	$data	
		);
		//json_encode()把数组转化成json格式输出	
		echo json_encode($result);
		exit;
	}
}	
?>

    总之,json方式封装通信接口还是非常简单的,xml的话,就相对来说麻烦了一些。

© 著作权归作者所有

共有 人打赏支持
嗜学如命的小蚂蚁
粉丝 139
博文 161
码字总数 100864
作品 0
郑州
程序员
用PHP写APP接口,现在我也在学习中。。。

现在app这么火,作为一个phper,应该知道如何写app的接口,下面做一个讲解。Index: 第1章 APP接口简介 - 第2章 封装通信接口方法 2-1 JSON方式封装通信接口 (14:39) 2-2 PHP生成XML数据 (12:...

YSail
07/05
0
0
小蚂蚁学习APP接口开发(2)—— XML方式封装通信接口

今天主要写一下XML方式封装通信接口的代码实现,XML的通信接口编写起来明显要比json的复杂一些,不过道理很简单,无非就是拼接成一个xml字符串输出,接着昨天的代码继续写。 <?php class Re...

嗜学如命的小蚂蚁
2015/10/14
384
0
小蚂蚁学习APP接口开发(6)—— APP接口实例——首页数据接口的案例实现

读取数据的三种方式 读取数据库方式开发首页接口 从数据库获取数据——》封装——》生成接口数 优点:数据时效性比较高的系统 2. 读取缓存方式开发首页接口(用途非常广) 从数据库获取信息—...

嗜学如命的小蚂蚁
2015/10/18
805
0
许雪里/xxl-hex

《面向对象的WebAPI框架XXL-HEX》 一、简介 1.1 概述 XXL-HEX 是一个简单易用的WebAPI框架, 拥有 "面向对象、数据加密、跨语言" 的特点。目标是: 提高Web API (如 Android、IOS 等APP接口, 或...

许雪里
2015/11/29
0
0
python+web3.py如何开发以太坊dapp?

Python官方提供了一系列的Python包用于支持在Python应用中访问以太坊,其中最流行的就是web3.py —— 对JSON RPC接口的Python封装包。在本课程中,我们将主要使用web3.py,同时结合一些其他的...

geek12345
08/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 到底谁是小公猫……

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子:分享Trivium的单曲《Throes Of Perdition》 《Throes Of Perdition》- Trivium 手机党少年们想听歌,请使劲儿戳(这里) @小鱼丁:...

小小编辑
58分钟前
137
3
基础选择器

注意:本教程参考自网上流传的李兴华老师的jquery开发框架视频,但是苦于没有相应的配套笔记,由我本人做了相应的整理. 本次学习的内容 学习jquery提供的各种选择器的使用,掌握了jquery选择...

江戸川
今天
1
0
Spring中static变量不能@value注入的原因

今天本想使用@Value的方式使类中的变量获得yml文件中的配置值,然而一直失败,获得的一直为null。 类似于这样写的。 public class RedisShardedPool { private static ShardedJedisPool pool...

钟然千落
今天
2
0
CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部